You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ch...@apache.org on 2017/11/04 13:53:38 UTC

hbase git commit: HBASE-19117 Avoid NPE occurring while active master dies

Repository: hbase
Updated Branches:
  refs/heads/branch-2 65f620a85 -> cdff80d97


HBASE-19117 Avoid NPE occurring while active master dies


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cdff80d9
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cdff80d9
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cdff80d9

Branch: refs/heads/branch-2
Commit: cdff80d97655acc894c1fbf3f6a24c1d1b121e52
Parents: 65f620a
Author: Chia-Ping Tsai <ch...@gmail.com>
Authored: Mon Oct 30 06:15:48 2017 +0800
Committer: Chia-Ping Tsai <ch...@gmail.com>
Committed: Sat Nov 4 21:49:15 2017 +0800

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/master/HMaster.java    | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/cdff80d9/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
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 7a778f2..c45b762 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
@@ -543,13 +543,16 @@ public class HMaster extends HRegionServer implements MasterServices {
     try {
       super.run();
     } finally {
-      // If on way out, then we are no longer active master.
-      this.clusterSchemaService.stopAsync();
-      try {
-        this.clusterSchemaService.awaitTerminated(getConfiguration().getInt(HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,
-          DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);
-      } catch (TimeoutException te) {
-        LOG.warn("Failed shutdown of clusterSchemaService", te);
+      if (this.clusterSchemaService != null) {
+        // If on way out, then we are no longer active master.
+        this.clusterSchemaService.stopAsync();
+        try {
+          this.clusterSchemaService.awaitTerminated(
+              getConfiguration().getInt(HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS,
+              DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS), TimeUnit.SECONDS);
+        } catch (TimeoutException te) {
+          LOG.warn("Failed shutdown of clusterSchemaService", te);
+        }
       }
       this.activeMaster = false;
     }