-
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
VDiff: Add control for start/resume and stop #16654
Conversation
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
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
|
0147e0c
to
bef6acf
Compare
Signed-off-by: Matt Lord <mattalord@gmail.com>
bef6acf
to
2c24ef7
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #16654 +/- ##
==========================================
+ Coverage 68.92% 68.94% +0.01%
==========================================
Files 1565 1565
Lines 201682 201745 +63
==========================================
+ Hits 139010 139090 +80
+ Misses 62672 62655 -17 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
1d08739
to
f570e78
Compare
b358fda
to
827805a
Compare
Signed-off-by: Matt Lord <mattalord@gmail.com>
827805a
to
2438a79
Compare
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
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.
Other than preferring auto-start
to do-not-start
as the flag name, everything looks good!
proto/tabletmanagerdata.proto
Outdated
@@ -670,6 +670,7 @@ message VDiffCoreOptions { | |||
int64 max_extra_rows_to_compare = 7; | |||
bool update_table_stats = 8; | |||
int64 max_diff_seconds = 9; | |||
bool do_not_start = 10; |
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.
we should probably call it auto-start
to be consistent with the workflow create commands.
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.
That's what I started with, but the problem then is that if you do not specify the field — which older clients would not do — then the default/zero value is false and it's not started.
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.
autoStart := subFlags.Bool("auto_start", true, "If false, streams will start in the Stopped state and will need to be explicitly started")
Shouldn't this definition, from vrep workflows, work? Default is true
and user needs to specify --auto_start=false
to start vdiff in a stopped state.
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.
This is an issue at the proto / RPC layer. Any client sending an older request object will not include that field. So it will be false (the zero value) on the server side
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'll try making it optional so that it's a *bool. Then we start it unless a value of false was specifically provided (would be nil in older client requests).
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.
Made that change here: 0020b0f
I'm good either way, so let's go with that if you prefer it.
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
fc0cab6
to
0020b0f
Compare
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.
❤️
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
* Update docs for vitessio/vitess#16654 Signed-off-by: Matt Lord <mattalord@gmail.com> * Update docs after moving to --auto-start Signed-off-by: Matt Lord <mattalord@gmail.com> * Also document vitessio/vitess#16709 Signed-off-by: Matt Lord <mattalord@gmail.com> * Rebuild docs base on main Signed-off-by: Matt Lord <mattalord@gmail.com> * Kick CI Signed-off-by: Matt Lord <mattalord@gmail.com> --------- Signed-off-by: Matt Lord <mattalord@gmail.com>
Description
VDiffs can be pretty resource intensive and for larger clusters and tables, it can be very desirable to have greater control over how they are executed. This PR implements two feature requests that allow you to fully control when and where it's running — on a shard by shard basis.
Example usage in the PR branch:
Related Issue(s)
Checklist