You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Chia-Ping Tsai (JIRA)" <ji...@apache.org> on 2017/07/29 19:21:00 UTC

[jira] [Commented] (HBASE-17706) TableSkewCostFunction improperly computes max skew

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

Chia-Ping Tsai commented on HBASE-17706:
----------------------------------------

The wrong value of numMaxRegionsPerTable almost destroys the action of MOVE_REGION since the new cost is always higher than origin cost.
As for me, the priority of this bug should be major or higher...
Ping [~kahliloppenheimer] If you are busy, I can give a patch.

> TableSkewCostFunction improperly computes max skew
> --------------------------------------------------
>
>                 Key: HBASE-17706
>                 URL: https://issues.apache.org/jira/browse/HBASE-17706
>             Project: HBase
>          Issue Type: Bug
>          Components: Balancer
>    Affects Versions: 1.2.0
>         Environment: CentOS Derivative with a derivative of the 3.18.43 kernel. HBase on CDH5.9.0 with some patches. HDFS CDH 5.9.0 with no patches.
>            Reporter: Kahlil Oppenheimer
>            Assignee: Kahlil Oppenheimer
>            Priority: Minor
>              Labels: patch
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17706-01.patch, HBASE-17706-02.patch, HBASE-17706-03.patch, HBASE-17706-04.patch, HBASE-17706-05.patch, HBASE-17706-06.patch, HBASE-17706-07.patch, HBASE-17706.patch
>
>
> We noticed while running unit tests that the TableSkewCostFunction computed cost did not change as the balancer ran and simulated moves across the cluster. After investigating, we found that this happened in particular when the cluster started out with at least one table very strongly skewed.
> We noticed that the TableSkewCostFunction depends on a field of the BaseLoadBalancer.Cluster class called numMaxRegionsPerTable, but this field is not properly maintained as regionMoves are simulated for the cluster. The field only ever increases as the maximum number of regions per table increases, but it does not decrease as the maximum number per table goes down.
> This patch corrects that behavior so that the field is accurately maintained, and thus the TableSkewCostFunction produces a more correct value as the balancer runs.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)