[ 
https://issues.apache.org/jira/browse/HBASE-20133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiang Li updated HBASE-20133:
-----------------------------
    Description: 
In RSGroupBasedLoadBalancer#balanceCluster(clusterState), the logic could be 
improved:

correctAssignment() builds a map for mis-placed and placed regions. For 
mis-placed regions, the key(ServerName) is BOGUS_SERVER_NAME. Then the logic 
gets those mis-paced regions out and calls findServerForRegion() several times 
to find out the current host server, in order to build RegionPlan for movement.

Some logic in correctAssignment() and findServerForRegion() could be merged so 
as to build both corrected assignment and RegionPlan for mis-placed region in 
one pass. As a result, findServerForRegion() could be removed if I get it 
correctly.

  was:
In RSGroupBasedLoadBalancer#balanceCluster(clusterState), the logic could be 
improved:
correctAssignment() builds a map for mis-placed and placed regions. 
For mis-placed regions, the key(ServerName) is BOGUS_SERVER_NAME. Then the 
logic gets those mis-paced regions out and calls findServerForRegion() several 
times to find out the current host server, in order to build RegionPlan for 
movement.
Some logic in correctAssignment() and findServerForRegion() could be merged so 
as to build both corrected assignment and RegionPlan for mis-placed region in 
one pass. As a result, findServerForRegion() could be removed if I get it 
correctly.


> Calculate corrected assignment and build region movement plans for mis-placed 
> regions in one pass
> -------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-20133
>                 URL: https://issues.apache.org/jira/browse/HBASE-20133
>             Project: HBase
>          Issue Type: Improvement
>          Components: rsgroup
>            Reporter: Xiang Li
>            Assignee: Xiang Li
>            Priority: Critical
>
> In RSGroupBasedLoadBalancer#balanceCluster(clusterState), the logic could be 
> improved:
> correctAssignment() builds a map for mis-placed and placed regions. For 
> mis-placed regions, the key(ServerName) is BOGUS_SERVER_NAME. Then the logic 
> gets those mis-paced regions out and calls findServerForRegion() several 
> times to find out the current host server, in order to build RegionPlan for 
> movement.
> Some logic in correctAssignment() and findServerForRegion() could be merged 
> so as to build both corrected assignment and RegionPlan for mis-placed region 
> in one pass. As a result, findServerForRegion() could be removed if I get it 
> correctly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to