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

Reply via email to