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);