You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Kahlil Oppenheimer (JIRA)" <ji...@apache.org> on 2017/02/28 04:40:45 UTC

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

Kahlil Oppenheimer created HBASE-17706:
------------------------------------------

             Summary: 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
            Priority: Minor


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.3.15#6346)