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

Charlie Qiangeng Xu commented on HBASE-17159:
---------------------------------------------

Among the comment for the roundRobinAssignment function in the class of 
BaseLoadBalancer.java:
{noformat}
   * Currently implemented as a round-robin assignment. Same invariant as load
   * balancing, all servers holding floor(avg) or ceiling(avg).
   *
   * TODO: Use block locations from HDFS to place regions with their blocks
{noformat}

and inside the body of roundRobinAssignment function:
{noformat}
    // TODO: instead of retainAssignment() and roundRobinAssignment(), we 
should just run the
    // normal LB.balancerCluster() with unassignedRegions. We only need to have 
a candidate
    // generator for AssignRegionAction. The LB will ensure the regions are 
mostly local
    // and balanced. This should also run fast with fewer number of iterations.
{noformat}

> Improve the assignment plan when server aborted or creating tables, etc.
> ------------------------------------------------------------------------
>
>                 Key: HBASE-17159
>                 URL: https://issues.apache.org/jira/browse/HBASE-17159
>             Project: HBase
>          Issue Type: New Feature
>          Components: Balancer, Region Assignment
>    Affects Versions: 2.0.0, 1.2.4
>            Reporter: Charlie Qiangeng Xu
>
> When master processing a dead serve or creating a new table, the assignment 
> plan would be generated based on the roundRobinAssignment method of balancer.
> Yet if these operations happen a lot, the cluster would be out of balance 
> both on table level and server level. Balancer would be triggered and may 
> cause huge amount of region moves( This is what we observed).
> Ideally, the assignment should be able to consider the table or cluster level 
> balance as well as locality(for the case of dead server). 
>  



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

Reply via email to