Uh oh!
There was an error while loading. Please reload this page.
[LoadBalance] make BeLoadRebalancer extends from base class Rebalancer - #4771
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
kangkaisen
commented
Oct 30, 2020
In Apache Druid. https://github.com/apache/druid/blob/master/server/src/main/java/org/apache/druid/server/coordinator/BalancerStrategy.java
I think the Apache Druid |
vagetablechicken
commented
Oct 30, 2020
It's based on the specific strategies. Some strategies can delay choosing the dest be until create a clone task, but some
We want to import the kudu's rebalance strategy, it'll calculate a concrete move{partition id, src be, dest be}, so it's no need to separate into In Doris, rebalance has 2 steps:
The key point is, step 2 will generate another TabletSchedCtx , we can't know which replica is the replica we want to delete. So we should try to get it from rebalancer. |
kangkaisen
commented
Oct 30, 2020
@vagetablechicken Hi, I see what's your mean. I agree with your interface logic. But for the method naming, I think we would better rename it. For For |
morningman
commented
Oct 31, 2020
I have a question about the problem described in #4763. If we implement a new LoadBalancer that allow users to specify a tablet to migrate from node A to node B. But after the migration is completed, how to ensure that this tablet will not be migrated back again by the default balance strategy? |
kangkaisen
commented
Nov 1, 2020
I think in one cluster, we could only enable one balance strategy? |
vagetablechicken
commented
Nov 2, 2020
Yes, only one. |
Uh oh!
There was an error while loading. Please reload this page.
Proposed changes
Create a base class
Rebalancer, support to delete the specified replica(actually add a new priority in handling redundant replica).The origin LoadBalancer, which will named as BeLoadRebalancer, just need to extend from Rebalancer without any logic change.
Types of changes
Checklist