You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2017/05/16 15:27:31 UTC
hbase git commit: HBASE-18051 balance_rsgroup still runs when the
Load Balancer is not enabled
Repository: hbase
Updated Branches:
refs/heads/master 67d135831 -> a8775b11d
HBASE-18051 balance_rsgroup still runs when the Load Balancer is not enabled
Signed-off-by: tedyu <yu...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a8775b11
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a8775b11
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a8775b11
Branch: refs/heads/master
Commit: a8775b11d2c9ce822347e151aed603a3041e0233
Parents: 67d1358
Author: Guangxu Cheng <gu...@gmail.com>
Authored: Tue May 16 12:58:20 2017 +0800
Committer: tedyu <yu...@gmail.com>
Committed: Tue May 16 08:28:13 2017 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java | 3 +++
.../org/apache/hadoop/hbase/rsgroup/TestRSGroups.java | 2 ++
.../apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java | 11 +++++++++++
3 files changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/a8775b11/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
index 3c0cccf..718c7c1 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java
@@ -38,6 +38,7 @@ import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.constraint.ConstraintException;
import org.apache.hadoop.hbase.master.AssignmentManager;
+import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.master.LoadBalancer;
import org.apache.hadoop.hbase.master.MasterServices;
import org.apache.hadoop.hbase.master.RegionPlan;
@@ -492,6 +493,8 @@ public class RSGroupAdminServer implements RSGroupAdmin {
boolean balancerRan;
synchronized (balancer) {
+ // If balance not true, don't run balancer.
+ if (!((HMaster) master).isBalancerOn()) return false;
if (master.getMasterCoprocessorHost() != null) {
master.getMasterCoprocessorHost().preBalanceRSGroup(groupName);
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/a8775b11/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroups.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroups.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroups.java
index 6ef162b..ae1485c 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroups.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroups.java
@@ -260,7 +260,9 @@ public class TestRSGroups extends TestRSGroupsBase {
rsGroupAdminEndpoint.getGroupInfoManager()
.moveTables(Sets.newHashSet(tableName), RSGroupInfo.getName());
+ admin.setBalancerRunning(true,true);
assertTrue(rsGroupAdmin.balanceRSGroup(RSGroupInfo.getName()));
+ admin.setBalancerRunning(false,true);
TEST_UTIL.waitFor(60000, new Predicate<Exception>() {
@Override
http://git-wip-us.apache.org/repos/asf/hbase/blob/a8775b11/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
index e5c89c3..a99c24f 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
@@ -210,7 +210,9 @@ public abstract class TestRSGroupsBase {
}
try {
+ admin.setBalancerRunning(true,true);
rsGroupAdmin.balanceRSGroup("bogus");
+ admin.setBalancerRunning(false,true);
fail("Expected move with bogus group to fail");
} catch(ConstraintException ex) {
//expected
@@ -433,9 +435,17 @@ public abstract class TestRSGroupsBase {
});
//balance the other group and make sure it doesn't affect the new group
+ admin.setBalancerRunning(true,true);
rsGroupAdmin.balanceRSGroup(RSGroupInfo.DEFAULT_GROUP);
assertEquals(6, getTableServerRegionMap().get(tableName).get(first).size());
+ //disable balance, balancer will not be run and return false
+ admin.setBalancerRunning(false,true);
+ assertFalse(rsGroupAdmin.balanceRSGroup(newGroupName));
+ assertEquals(6, getTableServerRegionMap().get(tableName).get(first).size());
+
+ //enable balance
+ admin.setBalancerRunning(true,true);
rsGroupAdmin.balanceRSGroup(newGroupName);
TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() {
@Override
@@ -448,6 +458,7 @@ public abstract class TestRSGroupsBase {
return true;
}
});
+ admin.setBalancerRunning(false,true);
}
@Test