-
Notifications
You must be signed in to change notification settings - Fork 27
add buffered copier tests #557
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
Merged
Merged
+179
−91
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e80d243 to
bcec09e
Compare
…mmediately The force-kill timer in ForceExec was being stopped in a defer, which meant it could still fire even after the DDL completed. This caused a race condition where: 1. ForceExec starts a 27-second timer to kill locking transactions 2. When INSTANT DDL fails, it returns an error but timer keeps running 3. Migration falls through to full copy path with checksum 4. 27 seconds later, timer fires and kills checksum queries on the same table 5. Test fails with 'invalid connection' or 'context canceled' The fix moves timer.Stop() to execute immediately after the DDL completes, before returning from the function. This ensures the timer is stopped before it can interfere with subsequent operations in the same migration. Fixes intermittent test failures in TestSecondaryEngineAttribute.
Resolved conflicts by preferring changes from mtocker-fix-races: - compose/compose.yml: Added -parallel=4 flag to test command - pkg/dbconn/dbconn.go: Simplified timer.Stop() comment - pkg/migration/runner_resume_test.go: Took entire file from mtocker-fix-races - pkg/repl/client.go: Used safer recreateStreamer logic that checks for binlog rotation Additional changes from mtocker-fix-races: - compose/replication-tls/replication-ci.yml: Updated configuration - pkg/migration/migration.go: Race fixes - pkg/migration/runner.go: Race fixes - pkg/repl/client_test.go: Test improvements - pkg/throttler/test.go: New test throttler utility
0c16baf to
670c159
Compare
670c159 to
ee09698
Compare
0591ad5 to
358298f
Compare
358298f to
3d3440d
Compare
eeSeeGee
approved these changes
Jan 19, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A Pull Request should be associated with an Issue.
Part of making #451 stable (does not fix)
This also has a better fix for #556 (which just merged):
flush binary logsbefore the subscription starts, so all the changes in the binary log are idempotent.