Skip to content
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

Reduce the conflict when multiple scheduling is running #3778

Closed
2 tasks
nolouch opened this issue Jun 15, 2021 · 6 comments
Closed
2 tasks

Reduce the conflict when multiple scheduling is running #3778

nolouch opened this issue Jun 15, 2021 · 6 comments
Labels
type/enhancement The issue or PR belongs to an enhancement.

Comments

@nolouch
Copy link
Contributor

nolouch commented Jun 15, 2021

Background

Scenario 1: Due to the drop table operation, a large number of merge operations are continuously occurring, and the balance-leader is restricted by the leader-schedule-limit, resulting in the conflict.

Scenario 2: store limit is shared by multiple schedulers.

details

Store Limit - Add Peer Store Limit -Remove Peer leader-schedule-limit hot-region-schedule-limit merge-schedule-limit region-schedule-limit replica-schedule-limit
BalanceLeader × × × × × ×
BalanceRegion × × × ×
EvictLeader × × × × × ×
HotRegion × ×
Label
ScatterRange × × ×
learnerChecker × × × × × × ×
replicaChecker × × ×
ruleChecker × × ×
mergeChecker × ×
  • Consider do not influence with each other, such as hot-region.
  • Improve the shared behavior for the store limit, such as allow preemption with priority.
@nolouch nolouch added the type/enhancement The issue or PR belongs to an enhancement. label Jun 15, 2021
@rleungx
Copy link
Member

rleungx commented Jun 29, 2021

Also some existed problems can be found in #3807

@bufferflies
Copy link
Contributor

Also some existed problems can be found in #3749

@bufferflies
Copy link
Contributor

bufferflies commented Jun 29, 2021

there are two way to solved the problem that schedulers influenced each other:
one way: one operator enter to operator control should only have one OpKind even if the region has many OpKind, the priority is blow(order by the operator cost):

OpMerge >OpHotRegion> OpRange>OpSplit>OpReplica>OpRegion>OpLeader

the other way: modify the scheduler/checker isAllowed condition by subtracting the other OpKind Operators, such as:

balance region scheduler: count(OpRegion)-count(OpMerge)-count(OpHotRegion)<region scheduler limit

leader region scheduler: count(OpLeader)-count(OpMerge)-count(OpHotRegion)<leader scheduler limit

@bufferflies
Copy link
Contributor

bufferflies commented Jun 29, 2021

the relation between OpKind with scheduler(checker) is blow In past:
image

@bufferflies
Copy link
Contributor

bufferflies commented Jul 12, 2021

Let remove-extras-peer not limit #3865

@lhy1024
Copy link
Contributor

lhy1024 commented Nov 9, 2022

@bufferflies Can we close it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement The issue or PR belongs to an enhancement.
Projects
None yet
Development

No branches or pull requests

4 participants