-
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
Remove Usage of VReplicationExec For _vt.vreplication Reads #14424
Conversation
Signed-off-by: Matt Lord <[email protected]>
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
Signed-off-by: Matt Lord <[email protected]>
1ce5ab3
to
e9b94d8
Compare
Signed-off-by: Matt Lord <[email protected]>
41dcece
to
68c41ff
Compare
Signed-off-by: Matt Lord <[email protected]>
68c41ff
to
1045dd5
Compare
d470f96
to
8f49c6b
Compare
Signed-off-by: Matt Lord <[email protected]>
8f49c6b
to
fcc631d
Compare
This PR is being marked as stale because it has been open for 30 days with no activity. To rectify, you may do any of the following:
If no action is taken within 7 days, this PR will be closed. |
Signed-off-by: Matt Lord <[email protected]>
bac951f
to
7bfcb8b
Compare
7bfcb8b
to
4c34f54
Compare
Signed-off-by: Matt Lord <[email protected]>
4c34f54
to
4e0a542
Compare
Signed-off-by: Matt Lord <[email protected]>
cfddc38
to
471c7a3
Compare
Signed-off-by: Matt Lord <[email protected]>
471c7a3
to
9162c6f
Compare
… comments Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
1. Add a new check to the e2e test that confirms all streams are running after a Reshard. 2. Address a TODO on Reshard stream migrations 3. Fix a bug in readRefStreams (was using the workflow struct rather (than workflow name in the map key) 4. Moves more spots to using proto getters as they are nil safe Signed-off-by: Matt Lord <[email protected]>
Signed-off-by: Matt Lord <[email protected]>
@rohit-nayak-ps I've addressed your review comments now and the tests are all green again. Please let me know what you think. Thanks! |
sourceShards: []string{"-"}, | ||
targetShards: []string{"-80", "80-"}, | ||
wantReqs: map[uint32]*tabletmanagerdatapb.CreateVReplicationWorkflowRequest{ | ||
200: { |
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.
The expected requests are quite similar: only shards are different in this and the next, for example. A helper function to get the request based on the differing attributes might be useful. It will both reduce the size of the test and make it easier to see what is the difference in the expectation.
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.
Can you show me an example of what you mean? I don't see a clear and intuitive way to do this w/o the test case NOT containing the logic or explicitly stating what each test case wants.
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.
I can do this later when I am refactoring the tests. Let's get this PR merged for now!
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]>
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]>
Description
This replaces reads (i.e.
SELECT
s) against the_vt.vreplication
sidecar table in thevtctldclient
implementation (vtctl
/vtctlclient
are also deprecated) that were using the deprecatedVReplicationExec
RPC with the newertabletmanager
RPCs which do not expose the implementation (SQL against tables) and thus address upgrade/downgrade issues.Note: the deprecated
vtctlclient
/wrangler
implementation is left unchanged — so that it can be used as a fallback if there are any issues with the newvtctldclient
implementation until it's eventually removed — by adding legacy functions in its code path as needed.It also begins the process of unifying the creation of VReplication workflow streams in
vtctldclient
using the newtabletmanager
RPCs.Materialize
andReshard
were still using the deprecatedVReplicationExec
RPC and here we generalized theMoveTables
usage of the new RPCs and movedMaterialize
over to that.Related Issue(s)
Checklist