-
Notifications
You must be signed in to change notification settings - Fork 2.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
For partial MoveTables, setup reverse shard routing rules on workflow creation #11415
For partial MoveTables, setup reverse shard routing rules on workflow creation #11415
Conversation
Signed-off-by: Matt Lord <[email protected]>
…les. Enhance e2e test to test for this as well as switch the remaining shard so that all shards are switched Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
If a new flag is being introduced:
If a workflow is added or modified:
Bug fixes
Non-trivial changes
New/Existing features
Backward compatibility
|
Signed-off-by: Matt Lord <[email protected]>
…utover_routing Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
And other minor changes after self review Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
I think we should document it. @rohit-nayak-ps thoughts? |
Yes, that is the plan. We will have a link from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Please note that this will be merged (and backported to release-15.0) just after the v15 RC1 release so that:
|
…utover_routing Signed-off-by: Matt Lord <[email protected]>
… creation (#11415) (#11447) * Testing.... Signed-off-by: Matt Lord <[email protected]> * Setup reverse routing rules at the start of the first partial movetables. Enhance e2e test to test for this as well as switch the remaining shard so that all shards are switched Signed-off-by: Rohit Nayak <[email protected]> * Update display representation of state for partially moved keyspaces Signed-off-by: Rohit Nayak <[email protected]> * Test improvements Signed-off-by: Matt Lord <[email protected]> * Cleanup shard routing rules on cancel/complete Signed-off-by: Matt Lord <[email protected]> * Cleanup intermediate changes Signed-off-by: Matt Lord <[email protected]> * Fix DryRun TrafficSwitcher and its tests Signed-off-by: Matt Lord <[email protected]> * Support concurrent partial movetables for N keyspaces And other minor changes after self review Signed-off-by: Matt Lord <[email protected]> * Avoid unnecessary save + rebuild steps Signed-off-by: Matt Lord <[email protected]> * Add secondary ordering for shard routing rules on to_keyspace Signed-off-by: Matt Lord <[email protected]> * Minor changes after self review Signed-off-by: Matt Lord <[email protected]> Signed-off-by: Matt Lord <[email protected]> Signed-off-by: Rohit Nayak <[email protected]> Co-authored-by: Rohit Nayak <[email protected]> Signed-off-by: Matt Lord <[email protected]> Signed-off-by: Rohit Nayak <[email protected]> Co-authored-by: Rohit Nayak <[email protected]>
Description
For normal
MoveTables
operations — where you're moving tables from one keyspace to another, i.e. the move is at the keyspace level — global routing rules are put in place when the workflow is created so that any attempted access of those tables on the target keyspace are routed to the source keyspace. (In this scenario shard targeting is how you would explicitly get around this routing.)For partial
MoveTables
operations, you're moving the tables from one keyspace to another one shard at a time — so the move is per shard rather than per keyspace. In this scenario you want all traffic to go to one side or the other for a given shard, including shard targeted queries. This then offers the same kind of "global" (scoped to a shard) routing at the shard level that you would expect when doing keyspace levelMoveTables
. This PR implements that functionality.Related Issue(s)
Checklist