diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaLargeCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaLargeCluster.java index 0dc0efc4a2c..d60ac903f6e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaLargeCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaLargeCluster.java @@ -25,7 +25,7 @@ import org.junit.Test; import org.junit.experimental.categories.Category; @Category({ MasterTests.class, LargeTests.class }) -public class TestStochasticLoadBalancerRegionReplicaLargeCluster extends BalancerTestBase2 { +public class TestStochasticLoadBalancerRegionReplicaLargeCluster extends BalancerTestBase { @ClassRule public static final HBaseClassTestRule CLASS_RULE = @@ -33,6 +33,12 @@ public class TestStochasticLoadBalancerRegionReplicaLargeCluster extends Balance @Test public void testRegionReplicasOnLargeCluster() { + // With default values for moveCost and tableSkewCost, the balancer makes much slower progress. + // Since we're only looking for balance in region counts and no colocated replicas, we can + // ignore these two cost functions to allow us to make any move that helps other functions. + conf.setFloat("hbase.master.balancer.stochastic.moveCost", 0f); + conf.setFloat("hbase.master.balancer.stochastic.tableSkewCost", 0f); + loadBalancer.onConfigurationChange(conf); int numNodes = 1000; int numRegions = 20 * numNodes; // 20 * replication regions per RS int numRegionsPerServer = 19; // all servers except one