[ 
https://issues.apache.org/jira/browse/HBASE-13376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14549554#comment-14549554
 ] 

Ted Yu commented on HBASE-13376:
--------------------------------

{code}
771         private Comparator<Integer> localityComparator = new 
Comparator<Integer>() {
772           @Override
773           public int compare(Integer integer, Integer integer2) {
{code}
Can the parameters for compare() have better names, such as server1, server2 ?
{code}
794             while (localityPerServer[lowestLocalServerIndex] == 0
795                 && (regionsPerServer[lowestLocalServerIndex].length == 0)) {
{code}
The above assumes 0 is the lowest locality. What if locality for 
serverIndicesSortedByLocality[0] is greater than 0 but the region count on the 
server is 0 ?
{code}
796               i++;
797               lowestLocalServerIndex = serverIndicesSortedByLocality[i];
{code}
Better check for boundary before assigning lowestLocalServerIndex.

Test failure in TestRegionRebalancing might be related to patch, however 
https://builds.apache.org/job/PreCommit-HBASE-Build/13602//testReport/ is no 
longer accessible.

> Improvements to Stochastic load balancer
> ----------------------------------------
>
>                 Key: HBASE-13376
>                 URL: https://issues.apache.org/jira/browse/HBASE-13376
>             Project: HBase
>          Issue Type: Improvement
>          Components: Balancer
>    Affects Versions: 1.0.0, 0.98.12
>            Reporter: Vandana Ayyalasomayajula
>            Assignee: Vandana Ayyalasomayajula
>            Priority: Minor
>         Attachments: HBASE-13376_0.98.txt, HBASE-13376_0.txt, 
> HBASE-13376_98.patch
>
>
> There are two things this jira tries to address:
> 1. The locality picker in the stochastic balancer does not pick regions with 
> least locality as candidates for swap/move. So when any user configures 
> locality cost in the configs, the balancer does not always seems to move 
> regions with bad locality. 
> 2. When a cluster has equal number of loaded regions, it always picks the 
> first one. It should pick a random region on one of the equally loaded 
> servers. This improves a chance of finding a good candidate, when load picker 
> is invoked several times. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to