[ https://issues.apache.org/jira/browse/HBASE-25882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17400370#comment-17400370 ]
Xiaolin Ha commented on HBASE-25882: ------------------------------------ [~claraxiong] [~zhangduo] please take a look, I updated the description of the issue. And I don't think make the multipler of TableSkewCostFunction to 0 in this circumstance is a good method, because it means when I want to disable the `hbase.master.loadbalance.bytable`, I also need to set the multipler of TableSkewCostFunction back to more than 0. Obviously, it's not convenient and is easy to forget. Thanks. > TableSkewCostFunction may cost unnecessary calculation steps when balancing > by table > ------------------------------------------------------------------------------------ > > Key: HBASE-25882 > URL: https://issues.apache.org/jira/browse/HBASE-25882 > Project: HBase > Issue Type: Improvement > Components: Balancer > Affects Versions: 3.0.0-alpha-1, 2.0.0 > Reporter: Xiaolin Ha > Assignee: Xiaolin Ha > Priority: Major > Attachments: image-2021-08-17-20-20-12-768.png > > > When using balance by table, the StochasticLoadBalancer will create the > cluster state according to the regions distribution of only one table. As a > result, the TableSkewCostFunction should be replaced by the > RegionCountSkewCostFunction when the table count of the cluster state is less > than 2. > The most important problem is that, TableSkewCostFunction will cause > unnecessary calculation steps when there is only one table. > For example,we have 40000+ regions for one table in one group, balance this > table may calculate lots of steps, but we can avoid duplicate computing costs > of TableSkewCostFunction while computing cost of RegionCountSkewCostFunction > and balancing by table. > > !image-2021-08-17-20-20-12-768.png|width=907,height=164! -- This message was sent by Atlassian Jira (v8.3.4#803005)