-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
source-mssql: shorten capture job polling interval in tests #33510
source-mssql: shorten capture job polling interval in tests #33510
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Current dependencies on/for this PR:
This stack of pull requests is managed by Graphite. |
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
.../source-mssql/src/main/java/io/airbyte/integrations/source/mssql/MssqlCdcTargetPosition.java
Show resolved
Hide resolved
.../source-mssql/src/main/java/io/airbyte/integrations/source/mssql/MssqlCdcTargetPosition.java
Show resolved
Hide resolved
…ing_interval_in_tests
This makes the tests flaky for some as-of-yet unknown reason. |
Fixed. As it turns out, adding the missing |
This PR should reduce flakiness in tests.
SQL Server is different than Postgres and MySql in that its CDC functionality consists of more than just parsing the WAL, instead it involves background jobs writing to _CT tables whose contents are eventually consistent. The background job of type "capture" does its thing every 5 seconds by default. If we have two consecutive
read
s within less than 5 seconds we might end up with the same target LSN despite having committed transactions between the two reads!This PR reduces the polling interval to every 1 second in tests and waits the same amount of time before querying the target LSN. The latter depends on the contents of the _CT tables and we want to give them a chance to be updated.