This is an automated email from the ASF dual-hosted git repository.

reidchan pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 1eac16e  HBASE-22872 Don't try to create normalization plan 
unnecesarily when split and merge both are disabled
1eac16e is described below

commit 1eac16e78f37102f2595fd0c36dbf85224109607
Author: Aman Poonia <apoo...@salesforce.com>
AuthorDate: Mon Aug 26 17:45:01 2019 +0530

    HBASE-22872 Don't try to create normalization plan unnecesarily when split 
and merge both are disabled
    
    Signed-off-by: Reid Chan <reidc...@apache.org>
---
 .../master/normalizer/SimpleRegionNormalizer.java  | 31 ++++++++++++----------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
index 300c6a7..74b338b 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
@@ -120,7 +120,23 @@ public class SimpleRegionNormalizer implements 
RegionNormalizer {
       LOG.debug("Normalization of system table " + table + " isn't allowed");
       return null;
     }
-
+    boolean splitEnabled = true, mergeEnabled = true;
+    try {
+      splitEnabled = masterRpcServices.isSplitOrMergeEnabled(null,
+        
RequestConverter.buildIsSplitOrMergeEnabledRequest(MasterSwitchType.SPLIT)).getEnabled();
+    } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException 
e) {
+      LOG.debug("Unable to determine whether split is enabled", e);
+    }
+    try {
+      mergeEnabled = masterRpcServices.isSplitOrMergeEnabled(null,
+        
RequestConverter.buildIsSplitOrMergeEnabledRequest(MasterSwitchType.MERGE)).getEnabled();
+    } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException 
e) {
+      LOG.debug("Unable to determine whether split is enabled", e);
+    }
+    if (!mergeEnabled && !splitEnabled) {
+      LOG.debug("Both split and merge are disabled for table: " + table);
+      return null;
+    }
     List<NormalizationPlan> plans = new ArrayList<>();
     List<RegionInfo> tableRegions = 
masterServices.getAssignmentManager().getRegionStates().
       getRegionsOfTable(table);
@@ -178,19 +194,6 @@ public class SimpleRegionNormalizer implements 
RegionNormalizer {
     LOG.debug("Table " + table + ", average region size: " + avgRegionSize);
 
     int candidateIdx = 0;
-    boolean splitEnabled = true, mergeEnabled = true;
-    try {
-      splitEnabled = masterRpcServices.isSplitOrMergeEnabled(null,
-        
RequestConverter.buildIsSplitOrMergeEnabledRequest(MasterSwitchType.SPLIT)).getEnabled();
-    } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException 
e) {
-      LOG.debug("Unable to determine whether split is enabled", e);
-    }
-    try {
-      mergeEnabled = masterRpcServices.isSplitOrMergeEnabled(null,
-        
RequestConverter.buildIsSplitOrMergeEnabledRequest(MasterSwitchType.MERGE)).getEnabled();
-    } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException 
e) {
-      LOG.debug("Unable to determine whether split is enabled", e);
-    }
     while (candidateIdx < tableRegions.size()) {
       RegionInfo hri = tableRegions.get(candidateIdx);
       long regionSize = getRegionSize(hri);

Reply via email to