[
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