You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by hu...@apache.org on 2021/10/25 22:46:39 UTC

[hbase] branch branch-2.4 updated: HBASE-26327 Replicas cohosted on a rack shouldn't keep triggering balancer (#3789)

This is an automated email from the ASF dual-hosted git repository.

huaxiangsun pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.4 by this push:
     new 8392dc0  HBASE-26327 Replicas cohosted on a rack shouldn't keep triggering balancer (#3789)
8392dc0 is described below

commit 8392dc0ad2039805262354e3335f528961f82094
Author: clarax <cl...@gmail.com>
AuthorDate: Mon Oct 25 15:44:42 2021 -0700

    HBASE-26327 Replicas cohosted on a rack shouldn't keep triggering balancer (#3789)
    
    Signed-off-by: Huaxiang Sun <hu...@apache.org>
---
 .../apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java | 6 +-----
 .../master/balancer/TestStochasticLoadBalancerRegionReplica.java    | 3 ++-
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
index 8c8419d..de706cb 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
@@ -316,11 +316,7 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
     if (Math.abs(regionReplicaHostCostFunction.cost()) > CostFunction.COST_EPSILON) {
       return true;
     }
-    regionReplicaRackCostFunction.init(c);
-    if (Math.abs(regionReplicaRackCostFunction.cost()) > CostFunction.COST_EPSILON) {
-      return true;
-    }
-    return false;
+    return (Math.abs(regionReplicaRackCostFunction.cost()) > CostFunction.COST_EPSILON);
   }
 
   @Override
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java
index 9634f9a..686c7cf 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplica.java
+++ b/hbase-server/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;
@@ -163,7 +164,7 @@ public class TestStochasticLoadBalancerRegionReplica extends BalancerTestBase {
     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(
+    assertFalse(
       loadBalancer.needsBalance(HConstants.ENSEMBLE_TABLE_NAME,
         new Cluster(map, null, null, new ForTestRackManagerOne())));
   }