refactor(resharding): extract tables sync to separate function - #1499
Open
meskill wants to merge 5 commits into
Open
refactor(resharding): extract tables sync to separate function#1499meskill wants to merge 5 commits into
meskill wants to merge 5 commits into
Conversation
meskill
commented
Sep 4, 2026
|
|
||
| /// Two subscribers race on the same omni-table rows, reproducing the cross-destination deadlock. | ||
| #[tokio::test(flavor = "multi_thread", worker_threads = 2)] | ||
| async fn cross_subscriber_omni_deadlock_two_databases() { |
Contributor
Author
There was a problem hiding this comment.
this test constructs very specific environment and flow, that is not exactly how the whole flow runs during the replication.
This was helpful for debugging initially, but now it's a burden. I'm checking the full flow with more integration test integration/resharding/repro_deadlock.sh
the behaviour is replaced with shared tables_sync implementation that distributes omni tables between source shards at initialization.
this test constructs very specific environment and flow, that is not exactly how the whole flow runs.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
meskill
force-pushed
the
meskill-2026-09-04-test-resharding---rukl
branch
from
September 4, 2026 17:28
7b59707 to
5d95173
Compare
Collaborator
|
Any chance you could add #1473 into this as well or would that be out of scope? |
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
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.
I started with extracting the logic related to table loading from orchestrator/publisher and ended up with OmniOwnership refactoring and new edge cases testing.
This PR moves the sync_table logic to separate module with omni-sharded tables distribution between streams embedded. This allows for: