diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index b282676..3955211 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -1321,7 +1321,12 @@ public class HMaster extends HRegionServer implements MasterServices, Server { Collections.shuffle(allEnabledTables); - for(TableName table : allEnabledTables) { + for (TableName table : allEnabledTables) { + if (quotaManager.getNamespaceQuotaManager() != null && + quotaManager.getNamespaceQuotaManager().getState(table.getNamespaceAsString()) != null){ + LOG.debug("Skipping normalizing " + table + " since its namespace has quota"); + continue; + } if (table.isSystemTable() || !getTableDescriptors().get(table).isNormalizationEnabled()) { LOG.debug("Skipping normalization for table: " + table + ", as it's either system" + " table or doesn't have auto normalization turned on"); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/namespace/NamespaceAuditor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/namespace/NamespaceAuditor.java index 2d8529a..7956e48 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/namespace/NamespaceAuditor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/namespace/NamespaceAuditor.java @@ -24,8 +24,6 @@ import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.master.MasterServices; import org.apache.hadoop.hbase.quotas.QuotaExceededException; -import com.google.common.annotations.VisibleForTesting; - /** * The Class NamespaceAuditor performs checks to ensure operations like table creation and region * splitting preserve namespace quota. The namespace quota can be specified while namespace @@ -131,12 +129,10 @@ public class NamespaceAuditor { } /** - * Used only for unit tests. * @param namespace The name of the namespace * @return An instance of NamespaceTableAndRegionInfo */ - @VisibleForTesting - NamespaceTableAndRegionInfo getState(String namespace) { + public NamespaceTableAndRegionInfo getState(String namespace) { if (stateManager.isInitialized()) { return stateManager.getState(namespace); }