[
https://issues.apache.org/jira/browse/HBASE-25826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang resolved HBASE-25826.
-------------------------------
Fix Version/s: 2.5.0
3.0.0-alpha-1
Release Note:
Narrow down the public facing API for LoadBalancer by removing balanceTable and
setConf methods.
Redesigned the initilization sequence to simplify the initialization code. Now
all the setters are just 'setter', all the initialization work are moved to
initialize method.
Rename setClusterMetrics to updateClusterMetrics, as it will be called
periodically while other setters will only be called once before initialization.
Add javadoc for LoadBalancer class to mention how to do synchronization on
implementation classes.
Resolution: Fixed
All sub tasks are done.
Resolve.
> Revisit the synchronization of balancer implementation
> ------------------------------------------------------
>
> Key: HBASE-25826
> URL: https://issues.apache.org/jira/browse/HBASE-25826
> Project: HBase
> Issue Type: Umbrella
> Components: Balancer
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> In StochasticLoadBalancer, some methods are synchronized, for example,
> setClusterMetrics, setConf, balanceTable, etc.
> What I can see is that, we have ConfigurationObserver support, so we need to
> make sure that the configuration updating does not effect the balance
> operation, so we need synchronization here. But do we support two balance
> operations at the same time? And what about other balancer implementations?
> I think we need to make the synchronization more clearer.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)