-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
debug: add capability to "force" a load-based split #55116
Comments
@tbg I was thinking about the proposal and based on my observations from #72305 I think the best option would be to extend the |
A different approach to this problem is to move the thresholds for load-based splitting into zone/span configs. That's not to take anything away from the more precise statements @lunevalex is proposing. Both seem valuable. Increasingly, I think more and more KV allocator decisions should be configured on a per-span basis. |
Fixes cockroachdb#55116 Extend the ALTER RANGE syntax to support splitting a range. ALTER RANGE x SPLIT will split a range at the best available load based key. The new command will not perform a split directly but rather advise the load based split decider to ignore the QPS threshold and perform a load based split based on the lastest available information. The decider has a 10s timeout built in between deciding to split and determing the split key, so the actual split will occur approximately 10s after the commnad is run. To support all of this we changed AdminSplitRequest and added a new parameter LoadBased. When set this will trigger a load based split on the range through the split_queue. Release note(sql change): Enhance the ALTER RANGE syntax to allow an operator to manually perform a load based split of a range.
Fixes cockroachdb#55116 Extend the ALTER RANGE syntax to support splitting a range. ALTER RANGE x SPLIT will split a range at the best available load based key. The new command will not perform a split directly but rather advise the load based split decider to ignore the QPS threshold and perform a load based split based on the lastest available information. The decider has a 10s timeout built in between deciding to split and determing the split key, so the actual split will occur approximately 10s after the commnad is run. To support all of this we changed AdminSplitRequest and added a new parameter LoadBased. When set this will trigger a load based split on the range through the split_queue. Release note(sql change): Enhance the ALTER RANGE syntax to allow an operator to manually perform a load based split of a range.
Fixes cockroachdb#55116 Extend the ALTER RANGE syntax to support splitting a range. ALTER RANGE x SPLIT will split a range at the best available load based key. The new command will not perform a split directly but rather advise the load based split decider to ignore the QPS threshold and perform a load based split based on the lastest available information. The decider has a 10s timeout built in between deciding to split and determing the split key, so the actual split will occur approximately 10s after the commnad is run. To support all of this we changed AdminSplitRequest and added a new parameter LoadBased. When set this will trigger a load based split on the range through the split_queue. Release note(sql change): Enhance the ALTER RANGE syntax to allow an operator to manually perform a load based split of a range.
Fixes cockroachdb#55116 Extend the ALTER RANGE syntax to support splitting a range. ALTER RANGE x SPLIT will split a range at the best available load based key. The new command will not perform a split directly but rather advise the load based split decider to ignore the QPS threshold and perform a load based split based on the lastest available information. The decider has a 10s timeout built in between deciding to split and determing the split key, so the actual split will occur approximately 10s after the commnad is run. To support all of this we changed AdminSplitRequest and added a new parameter LoadBased. When set this will trigger a load based split on the range through the split_queue. Release note(sql change): Enhance the ALTER RANGE syntax to allow an operator to manually perform a load based split of a range.
Fixes cockroachdb#55116 Extend the ALTER RANGE syntax to support splitting a range. ALTER RANGE x SPLIT will split a range at the best available load based key. The new command will not perform a split directly but rather advise the load based split decider to ignore the QPS threshold and perform a load based split based on the lastest available information. The decider has a 10s timeout built in between deciding to split and determing the split key, so the actual split will occur approximately 10s after the commnad is run. To support all of this we changed AdminSplitRequest and added a new parameter LoadBased. When set this will trigger a load based split on the range through the split_queue. Release note(sql change): Enhance the ALTER RANGE syntax to allow an operator to manually perform a load based split of a range.
We have marked this issue as stale because it has been inactive for |
Is your feature request related to a problem? Please describe.
When a user has a range that they wish to split to better distribute load (for example during a crisis situation), but load-based splitting does not do the job, the user has to manually construct a split key for use with
ALTER TABLE ... SPLIT
.Describe the solution you'd like
Either via the UI or SQL, "force" a load-based split, meaning that the range will split based on the leader's best guess.
Describe alternatives you've considered
An alternative is to set the cluster setting that controls load-based split aggressiveness. However, this is a highly non-local solution that may cause many unrelated and possibly detrimental splits.
Jira issue: CRDB-3693
The text was updated successfully, but these errors were encountered: