diff --git a/hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java b/hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java index eaa923e74fcf..3b0be8bd33b3 100644 --- a/hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java +++ b/hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java @@ -310,14 +310,7 @@ void updateMetricsSize(int size) { private boolean areSomeRegionReplicasColocated(BalancerClusterState c) { regionReplicaHostCostFunction.prepare(c); - if (Math.abs(regionReplicaHostCostFunction.cost()) > CostFunction.COST_EPSILON) { - return true; - } - regionReplicaRackCostFunction.prepare(c); - if (Math.abs(regionReplicaRackCostFunction.cost()) > CostFunction.COST_EPSILON) { - return true; - } - return false; + return (Math.abs(regionReplicaHostCostFunction.cost()) > CostFunction.COST_EPSILON); } private String getBalanceReason(double total, double sumMultiplier) { diff --git a/hbase-balancer/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java b/hbase-balancer/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java index ac6ad4b75ace..58eed9e63796 100644 --- a/hbase-balancer/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java +++ b/hbase-balancer/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase.master.balancer; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.ArrayList; @@ -161,8 +162,7 @@ public void testNeedsBalanceForColocatedReplicas() { map.put(s2, regionsOnS2); // add another server so that the cluster has some host on another rack map.put(ServerName.valueOf("host2", 1000, 11111), randomRegions(1)); - assertTrue( - loadBalancer.needsBalance(HConstants.ENSEMBLE_TABLE_NAME, + assertFalse(loadBalancer.needsBalance(HConstants.ENSEMBLE_TABLE_NAME, new BalancerClusterState(map, null, null, new ForTestRackManagerOne()))); }