From a74855321c4c6f5afec907a14c22e226d5bbc5e3 Mon Sep 17 00:00:00 2001 From: xcang Date: Mon, 22 Oct 2018 17:23:23 -0700 Subject: [PATCH] HBASE-21349 Do not run CatalogJanitor or Nomalizer when cluster is shutting down: --- .../main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java | 6 ++++-- .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java index 85150937e9..73fabf8ca7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java @@ -111,14 +111,16 @@ public class CatalogJanitor extends ScheduledChore { protected void chore() { try { AssignmentManager am = this.services.getAssignmentManager(); - if (this.enabled.get() && !this.services.isInMaintenanceMode() && am != null && + if (this.enabled.get() && !this.services.isInMaintenanceMode() && + !this.services.getServerManager().isClusterShutdown() && am != null && am.isMetaLoaded() && !am.hasRegionsInTransition()) { scan(); } else { LOG.warn("CatalogJanitor is disabled! Enabled=" + this.enabled.get() + ", maintenanceMode=" + this.services.isInMaintenanceMode() + ", am=" + am + ", metaLoaded=" + (am != null && am.isMetaLoaded()) + ", hasRIT=" + - (am != null && am.hasRegionsInTransition())); + (am != null && am.hasRegionsInTransition()) + " clusterShutDown=" + this.services + .getServerManager().isClusterShutdown()); } } catch (IOException e) { LOG.warn("Failed scan of catalog table", e); 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 015677c33d..9b5df698a1 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 @@ -1764,6 +1764,11 @@ public class HMaster extends HRegionServer implements MasterServices { return false; } + if (this.getServerManager().isClusterShutdown()) { + LOG.info("Cluster is shutting down, don't run region normalizer."); + return false; + } + if (isInMaintenanceMode()) { LOG.info("Master is in maintenance mode, don't run region normalizer."); return false; -- 2.15.1 (Apple Git-101)