-
Notifications
You must be signed in to change notification settings - Fork 729
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
api: add a new scheduler to balance the regions of the given key range #8988
Conversation
Signed-off-by: 童剑 <1045931706@qq.com>
Signed-off-by: 童剑 <1045931706@qq.com>
Skipping CI for Draft Pull Request. |
Codecov ReportAttention: Patch coverage is
❌ Your patch status has failed because the patch coverage (61.74%) is below the target coverage (74.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #8988 +/- ##
==========================================
- Coverage 76.23% 76.22% -0.02%
==========================================
Files 467 468 +1
Lines 71155 71415 +260
==========================================
+ Hits 54247 54436 +189
- Misses 13515 13575 +60
- Partials 3393 3404 +11
Flags with carried forward coverage won't be shown. Click here to find out more. |
fe71a54
to
cb8a4b9
Compare
cb8a4b9
to
d0cfc2d
Compare
type balanceKeyRangeSchedulerConfig struct { | ||
syncutil.RWMutex | ||
schedulerConfig | ||
balanceKeyRangeSchedulerParam |
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.
Shall we use a slice to support multiple key ranges with different roles or engines?
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 need to support a multi-key range with same role and engine.
Signed-off-by: 童剑 <1045931706@qq.com>
@@ -374,6 +375,17 @@ func NewBalanceWitnessSchedulerCommand() *cobra.Command { | |||
return c | |||
} | |||
|
|||
// NewBalanceRangeSchedulerCommand returns a command to add a balance-key-range-scheduler. | |||
func NewBalanceRangeSchedulerCommand() *cobra.Command { |
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.
Do we need to support it? It's hard to use.
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.
yes, it's helpful to debug it in the first step, and then it recommends the SQL function description
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.
How about using API to test now? I don't think we need to add a new command that's going to be deprecated soon.
Signed-off-by: 童剑 <1045931706@qq.com>
0bb25b9
to
8bdb7bc
Compare
eabfb27
to
0696ba6
Compare
Signed-off-by: 童剑 <1045931706@qq.com>
Engine string `json:"engine"` | ||
Timeout time.Duration `json:"timeout"` | ||
Ranges []core.KeyRange `json:"ranges"` | ||
TableName string `json:"table-name"` |
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.
Name it as alias
for better, since pd does not understand the table concept.
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.
cc @bufferflies
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.
done
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 rest LGTM except the left comment.
Use: "balance-range-scheduler [--format=raw|encode|hex] <engine> <role> <table-name> <start_key> <end_key>", | ||
Short: "add a scheduler to balance region for given range", | ||
Run: addSchedulerForBalanceRangeCommandFunc, | ||
Deprecated: "balance-range will be deprecated in the future, please use sql instead", |
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.
It's strange to add Deprecated
now.
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.
removed and add one todo for sql implement
Signed-off-by: 童剑 <1045931706@qq.com>
Signed-off-by: 童剑 <1045931706@qq.com>
Signed-off-by: 童剑 <1045931706@qq.com>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: nolouch, rleungx The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What problem does this PR solve?
Issue Number: Close #8987
What is changed and how does it work?
Check List
Tests
Code changes
Side effects
Related changes
Release note