[
https://issues.apache.org/jira/browse/HBASE-26251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17414029#comment-17414029
]
Zhuoyue Huang commented on HBASE-26251:
---------------------------------------
HMaster would abort balancer's running if any checking logic was not
passed. We should updateStochasticCosts outside the HMaster logic to make sure
the updating working regardless of whether the balancer run or not. IMHO, to
simplify this improvement, BalancerChore is the best choice to periodically
update the cost of StochasticBalanccer.
I create a new interface named 'updateBalancerLoadInfo', which
StochasticLoadBalancer could implement, and in the future other balancers could
update its internal status periodically.
> StochasticLoadBalancer metrics should update even if balancer doesn't run
> -------------------------------------------------------------------------
>
> Key: HBASE-26251
> URL: https://issues.apache.org/jira/browse/HBASE-26251
> Project: HBase
> Issue Type: Improvement
> Reporter: Bryan Beaudreault
> Assignee: Zhuoyue Huang
> Priority: Minor
>
> Currently we only update StochasticLoadBalancerMetrics at the very end of a
> balancer run, once a plan has been found. In fact, we update the metrics
> based on that plan even if we don't end up executing the plan, which seems
> incorrect.
> Regardless of whether the balancer decides to run or not, cluster costs are
> changing all the time. Since we don't update these metrics any other time,
> operators miss out on important information about the balance of their
> cluster over time.
> I briefly looked into it and it would be relatively trivial to add another
> call to updateStochasticCosts at the beginning of the balanceTable method,
> before we determine if the cluster is in need of balancing. This would be an
> improvement but would still miss cases where the balancer is disabled or
> unable to run due to regions in transition, etc.
> It would be good if we could make it so updateStochasticCosts get called
> periodically regardless of whether the balancer is enabled or can run.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)