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

Victor Xu commented on HBASE-10761:
-----------------------------------

[~stack] Yes, after this change, the StochasticLoadBalancer will always run. 
I think it's a better idea to do some small balances every 5 or 10 mins than 
wait some time (maybe 1 or 2 hour) and then do a very big one. And with regard 
to the performance, we can use some parameters to control the frequency and the 
running time of the balance process. StochasticLoadBalancer is such a strategy 
that we cannot tell whether or not we need to do it until we finish the 
calculation of the 'cost' of current cluster, and, of course, try to predict a 
better new balance plan. If there is no new plan, it quits harmlessly. So why 
duplicate this logic into the 'needBalance' method? We could just let the 
balanceCluster method help us to do it.

> StochasticLoadBalancer still uses SimpleLoadBalancer's needBalance logic
> ------------------------------------------------------------------------
>
>                 Key: HBASE-10761
>                 URL: https://issues.apache.org/jira/browse/HBASE-10761
>             Project: HBase
>          Issue Type: Bug
>          Components: Balancer
>    Affects Versions: 0.98.0
>            Reporter: Victor Xu
>         Attachments: HBASE_10761.patch, HBASE_10761_v2.patch
>
>
> StochasticLoadBalancer has become the default balancer since 0.98.0. But its 
> balanceCluster method still uses the BaseLoadBalancer.needBalance() which is 
> originally designed for SimpleLoadBalancer. It's all based on the number of 
> regions on the regionservers.
> This can cause such a problem: when the cluster has some Hot Spot Region, the 
> balance process may not be triggered because the numbers of regions on the 
> RegionServers are averaged.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to