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 2015/06/25 12:26:09 UTC

hbase git commit: HBASE-13964 Skip region normalization for tables under namespace quota

Repository: hbase
Updated Branches:
  refs/heads/branch-1 41aa84124 -> ed72fa212


HBASE-13964 Skip region normalization for tables under namespace quota


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ed72fa21
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ed72fa21
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ed72fa21

Branch: refs/heads/branch-1
Commit: ed72fa212875814f7e44eebaf7789710ec670c6a
Parents: 41aa841
Author: tedyu <yu...@gmail.com>
Authored: Thu Jun 25 03:26:12 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Thu Jun 25 03:26:12 2015 -0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 7 ++++++-
 .../org/apache/hadoop/hbase/namespace/NamespaceAuditor.java   | 6 +-----
 2 files changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/ed72fa21/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
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");

http://git-wip-us.apache.org/repos/asf/hbase/blob/ed72fa21/hbase-server/src/main/java/org/apache/hadoop/hbase/namespace/NamespaceAuditor.java
----------------------------------------------------------------------
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);
     }