vagetablechicken opened a new issue #4763: URL: https://github.com/apache/incubator-doris/issues/4763
**Is your feature request related to a problem? Please describe.** We want to add more strategies for load balance, actually for rebalance. And the new strategies may want to execute a concrete move of a replica from one server to another, a move can be described as {tablet, from_be, dest_be}. Thus, the rebalance class should support to delete the specified replica(in from_be). So we need to define a new base class for rebalance, the origin rebalance strategy could work on it as well. **Describe the solution you'd like** The new base class, named `Rebalancer`. class methods: - selectAlternativeTablets: use a strategy to determine which tablet to rebalance. - createBalanceTask: try to create a clone task for rebalance. - getCachedSrcBackendId: needed by the new priority "replica is src replica of rebalance" in handleRedundantReplica.The origin rebalance doesn't need to override getCachedSrcBackendId. The move-based strategies should override it. - updateLoadStatistic: the rebalancer may have cache, so it should be stateful. Add a method to update the load statistic. The origin `LoadBalancer`, which will named as `BeLoadRebalancer`, just need to extend from `Rebalancer` without any logic change. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org