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 2018/05/13 17:29:51 UTC
hbase git commit: HBASE-20566 Creating a system table after enabling
rsgroup feature puts region into RIT
Repository: hbase
Updated Branches:
refs/heads/master 021f66d11 -> d1cc92599
HBASE-20566 Creating a system table after enabling rsgroup feature puts region into RIT
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/d1cc9259
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d1cc9259
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d1cc9259
Branch: refs/heads/master
Commit: d1cc92599a8bc83d01b59f9b20518a5402fd6e28
Parents: 021f66d
Author: Nihal Jain <ni...@gmail.com>
Authored: Sun May 13 04:35:45 2018 +0530
Committer: tedyu <yu...@gmail.com>
Committed: Sun May 13 10:29:43 2018 -0700
----------------------------------------------------------------------
.../hbase/rsgroup/RSGroupInfoManagerImpl.java | 11 +++++++++--
.../apache/hadoop/hbase/rsgroup/TestRSGroups.java | 17 +++++++++++++++--
2 files changed, 24 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/d1cc9259/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
----------------------------------------------------------------------
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
index 659343c..4ae92a6 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java
@@ -72,6 +72,8 @@ import org.apache.hadoop.hbase.protobuf.ProtobufMagic;
import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;
import org.apache.hadoop.hbase.protobuf.generated.RSGroupProtos;
+import org.apache.hadoop.hbase.quotas.QuotaTableUtil;
+import org.apache.hadoop.hbase.quotas.QuotaUtil;
import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
import org.apache.hadoop.hbase.security.access.AccessControlLists;
import org.apache.hadoop.hbase.util.Bytes;
@@ -407,8 +409,13 @@ final class RSGroupInfoManagerImpl implements RSGroupInfoManager {
orphanTables.add(TableName.valueOf(entry));
}
- final List<TableName> specialTables = Arrays.asList(AccessControlLists.ACL_TABLE_NAME,
- TableName.META_TABLE_NAME, TableName.NAMESPACE_TABLE_NAME, RSGROUP_TABLE_NAME);
+ List<TableName> specialTables =
+ new ArrayList<TableName>(Arrays.asList(AccessControlLists.ACL_TABLE_NAME,
+ TableName.META_TABLE_NAME, TableName.NAMESPACE_TABLE_NAME, RSGROUP_TABLE_NAME));
+ // if quota is enabled, add corresponding system table to special tables list
+ if (QuotaUtil.isQuotaEnabled(conn.getConfiguration())) {
+ specialTables.add(QuotaTableUtil.QUOTA_TABLE_NAME);
+ }
for (TableName table : specialTables) {
orphanTables.add(table);
http://git-wip-us.apache.org/repos/asf/hbase/blob/d1cc9259/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 610278a..521b8b9 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
@@ -39,6 +39,8 @@ import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
import org.apache.hadoop.hbase.master.ServerManager;
import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
import org.apache.hadoop.hbase.net.Address;
+import org.apache.hadoop.hbase.quotas.QuotaTableUtil;
+import org.apache.hadoop.hbase.quotas.QuotaUtil;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.After;
@@ -79,6 +81,8 @@ public class TestRSGroups extends TestRSGroupsBase {
RSGroupBasedLoadBalancer.class.getName());
TEST_UTIL.getConfiguration().set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY,
RSGroupAdminEndpoint.class.getName());
+ // Enable quota for testRSGroupsWithHBaseQuota()
+ TEST_UTIL.getConfiguration().setBoolean(QuotaUtil.QUOTA_CONF_KEY, true);
TEST_UTIL.startMiniCluster(NUM_SLAVES_BASE - 1);
TEST_UTIL.getConfiguration().setInt(
ServerManager.WAIT_ON_REGIONSERVERS_MINTOSTART,
@@ -163,8 +167,8 @@ public class TestRSGroups extends TestRSGroupsBase {
assertEquals(4, defaultInfo.getServers().size());
// Assignment of root and meta regions.
int count = master.getAssignmentManager().getRegionStates().getRegionAssignments().size();
- //3 meta,namespace, group
- assertEquals(3, count);
+ //4 meta,namespace, group, quota
+ assertEquals(4, count);
}
@Test
@@ -301,4 +305,13 @@ public class TestRSGroups extends TestRSGroupsBase {
admin.cloneSnapshot(snapshotName, clonedTableName);
}
+ @Test
+ public void testRSGroupsWithHBaseQuota() throws Exception {
+ TEST_UTIL.waitFor(90000, new Waiter.Predicate<Exception>() {
+ @Override
+ public boolean evaluate() throws Exception {
+ return admin.isTableAvailable(QuotaTableUtil.QUOTA_TABLE_NAME);
+ }
+ });
+ }
}