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:30:40 UTC
[hbase] branch branch-1.4 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-1.4
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1.4 by this push:
new 23991cb HBASE-22872 Don't try to create normalization plan unnecesarily when split and merge both are disabled
23991cb is described below
commit 23991cb51e5bac3a27237475f00bb4976a83d5fe
Author: Aman Poonia <am...@gmail.com>
AuthorDate: Sat Aug 17 15:17:42 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 | 30 ++++++++++++----------
1 file changed, 17 insertions(+), 13 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 c18a49a..b346c14 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
@@ -107,6 +107,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 (ServiceException se) {
+ LOG.debug("Unable to determine whether split is enabled", se);
+ }
+ try {
+ mergeEnabled = masterRpcServices.isSplitOrMergeEnabled(null,
+ RequestConverter.buildIsSplitOrMergeEnabledRequest(MasterSwitchType.MERGE)).getEnabled();
+ } catch (ServiceException se) {
+ LOG.debug("Unable to determine whether split is enabled", se);
+ }
+ if (!splitEnabled && !mergeEnabled) {
+ LOG.debug("Both split and merge are disabled for table: " + table);
+ return null;
+ }
List<NormalizationPlan> plans = new ArrayList<NormalizationPlan>();
List<HRegionInfo> tableRegions = masterServices.getAssignmentManager().getRegionStates().
@@ -141,19 +158,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 (ServiceException se) {
- LOG.debug("Unable to determine whether split is enabled", se);
- }
- try {
- mergeEnabled = masterRpcServices.isSplitOrMergeEnabled(null,
- RequestConverter.buildIsSplitOrMergeEnabledRequest(MasterSwitchType.MERGE)).getEnabled();
- } catch (ServiceException se) {
- LOG.debug("Unable to determine whether split is enabled", se);
- }
while (candidateIdx < tableRegions.size()) {
HRegionInfo hri = tableRegions.get(candidateIdx);
long regionSize = getRegionSize(hri);