From 2e3f3aa4a236607ccfb9b9caca9d13189990b93a Mon Sep 17 00:00:00 2001 From: Kahlil Oppenheimer Date: Wed, 15 Mar 2017 11:43:18 -0400 Subject: [PATCH] HBASE-17707 New More Accurate Table Skew cost function/generator - re-enable with test fix This reverts commit 9214ad69af486109cc4dd31f60a82ac7ad8d3427. --- .../apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java index 2a3582e..ee9698c 100644 --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java @@ -1863,8 +1863,10 @@ public class StochasticLoadBalancer extends BaseLoadBalancer { for (int i = 0 ; i < costsPerGroup.length; i++) { totalCost += costsPerGroup[i]; } + + double raw = scale(0, maxCost, totalCost); // Still return high cost for single region replicas being cohosted even as cluster scales - return Math.sqrt(scale(0, maxCost, totalCost)); + return raw == 0 ? 0 : .1 + .9 * Math.sqrt(scale(0, maxCost, totalCost)); } /** -- 2.10.1 (Apple Git-78)