nyl3532016 commented on issue #1501: HBASE-23933 Separate a hbase-balancer module URL: https://github.com/apache/hbase/pull/1501#issuecomment-614608632 > Oh, this is a big change, hard to review so let me ask some questions. > > I think balancer is somehow tied with some components of HMaster, such as ServerManager and AssignmentManager? How do you break the tie? > > Thanks. I do not break the tie, so the module hbase-balancer depends on hbase-server ,not on the contrary. `LoadBalancer` is a interface,so we can separate all it's implement and ut into hbase-balancer module, just leave `LoadBalancerFactory` in module hbase-server for balancer class instantiation. Some key points of actual separation: 1.Leave `RSGroupBasedLoadBalancer` in hbase-server module, for we must use rsgroup now 2.Newly add a class `MiniHBaseLoadBalancer` and set as default in `MiniHBaseCluster`, so the minicluster can start up without dependency of hbase-balancer 3.Leave `BaseLoadBalancer` in hbase-server module, for assignment correctness to pass some ut, these ut not related balance but assignment 4.we do not change default loadbalancer `StochasticLoadBalancer`, and in production environment,we must depend on module hbase-balancer
---------------------------------------------------------------- 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: [email protected] With regards, Apache Git Services
