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

Ted Yu commented on HBASE-3422:
-------------------------------

In terms of putting upper bound on the time it takes per call to 
HMaster.balance(), I think master should establish some metric about the 
execution time of plan execution.
Here is related code:
{code}
      List<RegionPlan> plans = this.balancer.balanceCluster(assignments);
      if (plans != null && !plans.isEmpty()) {
        for (RegionPlan plan: plans) {
          LOG.info("balance " + plan);
          this.assignmentManager.balance(plan);
{code}
If the metric is collected for assignmentManager.balance() calls, 
balancer.balanceCluster() can make use of the metric and adjust the maximum 
number of regions assigned in one round.

> Balancer will willing try to rebalance thousands of regions in one go; needs 
> an upper bound added.
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-3422
>                 URL: https://issues.apache.org/jira/browse/HBASE-3422
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.90.0
>            Reporter: stack
>            Assignee: Ted Yu
>
> See HBASE-3420.  Therein, a wonky cluster had 5k regions on one server and < 
> 1k on others.  Balancer ran and wanted to redistribute 3k+ all in one go.  
> Madness.
> If a load of rebalancing to be done, should be done somewhat piecemeal.  We 
> need maximum regions to rebalance at a time upper bound at a minimum.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to