* This commit adds new functionality that generates checkpoints when doing CDC synchronization. For that purpose we encapsulate an AirbyteMessage Iterator on a new iterator that handles the checkpoint messaging. * Reformat code * Reformat code * Reformat code * Reformat code * Second attempt with ugly if statement * Add `isRecordBehindOffset` function to make sure is safe to send the state. Tests are failing as now it has more state messages: expected: <1> but was: <3> * Code formatting * Add additional check if the record is part of the snapshot load to skip state message. * Remove comments * Fix imports * Fix format * Add check if the iterator has extra elements so we don't send state message twice (edge case) * Add a new check to avoid sending multiple state messages with same offset. Fix PR comments. Not sending checkpoints... figuring out * Modify MSSQL and MySQL implementations * Adds better control on Maps and include a test for time checkpoint. Also adds extra assert to verify there are no duplicate states * Formatting * Improve code documentation and use default for CdcStateHandler new functions * Sort out missing `final` and types from comments * Minor improve in checkpoint validation * format files * It's 2023! * Import issues * Changes after merging master * Upgrade Debezium version in MySQL * Bump Postgres and Alloydb * auto-bump connector version * Manually bumping version --------- Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
41 lines
1.9 KiB
Groovy
41 lines
1.9 KiB
Groovy
plugins {
|
|
id 'application'
|
|
id 'airbyte-docker'
|
|
id 'airbyte-integration-test-java'
|
|
id 'airbyte-performance-test-java'
|
|
id 'airbyte-connector-acceptance-test'
|
|
}
|
|
|
|
application {
|
|
mainClass = 'io.airbyte.integrations.source.postgres.PostgresSourceRunner'
|
|
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0']
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'io.debezium:debezium-api:2.1.2.Final'
|
|
implementation project(':airbyte-db:db-lib')
|
|
implementation project(':airbyte-integrations:bases:base-java')
|
|
implementation project(':airbyte-integrations:bases:debezium')
|
|
implementation libs.airbyte.protocol
|
|
implementation project(':airbyte-integrations:connectors:source-jdbc')
|
|
implementation project(':airbyte-integrations:connectors:source-relational-db')
|
|
|
|
implementation 'org.apache.commons:commons-lang3:3.11'
|
|
implementation libs.postgresql
|
|
|
|
testImplementation testFixtures(project(':airbyte-integrations:bases:debezium'))
|
|
testImplementation testFixtures(project(':airbyte-integrations:connectors:source-jdbc'))
|
|
testImplementation project(":airbyte-json-validation")
|
|
testImplementation project(':airbyte-test-utils')
|
|
testImplementation libs.connectors.testcontainers.jdbc
|
|
testImplementation libs.connectors.testcontainers.postgresql
|
|
testImplementation libs.junit.jupiter.system.stubs
|
|
|
|
integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test')
|
|
performanceTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test')
|
|
|
|
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
|
|
integrationTestJavaImplementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
|
|
performanceTestJavaImplementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
|
|
}
|