Class RSGroupBasedLoadBalancer

java.lang.Object
org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer
All Implemented Interfaces:
ConfigurationObserver, LoadBalancer, Stoppable

@Private public class RSGroupBasedLoadBalancer extends Object implements LoadBalancer
GroupBasedLoadBalancer, used when Region Server Grouping is configured (HBase-6721) It does region balance based on a table's group membership.

Most assignment methods contain two exclusive code paths: Online - when the group table is online and Offline - when it is unavailable.

During Offline, assignments are assigned based on cached information in zookeeper. If unavailable (ie bootstrap) then regions are assigned randomly.

Once the GROUP table has been assigned, the balancer switches to Online and will then start providing appropriate assignments for user tables.