[
https://issues.apache.org/jira/browse/HBASE-20133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16393168#comment-16393168
]
Ted Yu commented on HBASE-20133:
--------------------------------
With latest patch, I placed a breakpoint on the last line below:
{code}
if (targetRSGInfo == null ||
!targetRSGInfo.containsServer(currentHostServer.getAddress())) { //
region is mis-placed
regionPlansForMisplacedRegions.add(new RegionPlan(region,
currentHostServer, null));
{code}
After running TestRSGroupBasedLoadBalancer, it was not hit.
Can you check which test exercises the above code ?
w.r.t. the assertClusterAsBalanced(), I think it doesn't hurt to keep the
assertions.
> Calculate correct 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: Minor
> Attachments: HBASE-20133.master.000.patch,
> HBASE-20133.master.001.patch, HBASE-20133.master.002.patch
>
>
> 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)