hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Kinley (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8710) The balancer shouldn't try balancing one node
Date Mon, 30 Sep 2013 02:16:24 GMT

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

James Kinley commented on HBASE-8710:

needsBalance() uses an instance of ClusterLoadState to determine how many servers are active
in the cluster. By default, "hbase.master.loadbalance.bytable" is false and therefore ClusterLoadState
has a global view of the cluster and how many servers there are. If "hbase.master.loadbalance.bytable"
was set to true then ClusterLoadState will only have a per table view of the cluster. In this
case, if the logic was moved to needsBalance() then the balancer may or may not run for each
table, it will definitely not run when the cluster has a single server, but needsBalance()
will be called for each table. Is this what you would expect?

Is there any reason why ClusterLoadState and ClusterStatus cannot be merged? At the moment,
a new instance of both is created every time the balancer is run and ClusterStatus is only
used by StochasticLoadBalancer. Wouldn't it be better to have a single ClusterStatus object
that also contains load information, and to call balancer.needsBalance() from HMaster#balance()
before balancer.balanceCluster()?

The two other checks in HMaster#balance() could also be moved into balancer.needsBalance()
- isRegionsInTransition() and areDeadServersInProgress().

> The balancer shouldn't try balancing one node
> ---------------------------------------------
>                 Key: HBASE-8710
>                 URL: https://issues.apache.org/jira/browse/HBASE-8710
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.95.1
>            Reporter: Jean-Daniel Cryans
>            Assignee: James Kinley
>            Priority: Minor
>             Fix For: 0.96.0
>         Attachments: HBASE-8710-1.patch, HBASE-8710-2.patch
> In my logs, testing 0.95.1 RC1, I see:
> {noformat}
> 2013-06-07 17:31:47,377 DEBUG [ip-10-20-46-44.novalocal,48569,1370640098134-BalancerChore]
balancer.StochasticLoadBalancer: Could not find a better load balance plan.  Tried 3200 different
configurations in 27ms, and did not find anything with a computed cost less than 25.0
> {noformat}
> Ideally we'd not even try one configuration, let alone 3.2k.

This message was sent by Atlassian JIRA

View raw message