You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by re...@apache.org on 2019/08/27 03:36:20 UTC
[hbase] branch branch-2 updated: HBASE-22872 Don't try to create
normalization plan unnecesarily when split and merge both are disabled
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 <ap...@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 <re...@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);