You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ps...@apache.org on 2018/12/01 08:32:23 UTC

hbase git commit: HBASE-21518 TestMasterFailoverWithProcedures is flaky

Repository: hbase
Updated Branches:
  refs/heads/branch-2.0 f7afe8bd3 -> 9c4ac8c06


HBASE-21518 TestMasterFailoverWithProcedures is flaky

Signed-off-by: Sean Busbey <bu...@apache.org>


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

Branch: refs/heads/branch-2.0
Commit: 9c4ac8c06001038c093a63f7be29646131a43641
Parents: f7afe8b
Author: Peter Somogyi <ps...@apache.org>
Authored: Thu Nov 29 18:04:53 2018 +0100
Committer: Peter Somogyi <ps...@apache.org>
Committed: Sat Dec 1 09:31:02 2018 +0100

----------------------------------------------------------------------
 .../hadoop/hbase/util/JVMClusterUtil.java       | 24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/9c4ac8c0/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
index 8c92f66..7518d65 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
@@ -249,14 +249,24 @@ public class JVMClusterUtil {
       // Do backups first.
       JVMClusterUtil.MasterThread activeMaster = null;
       for (JVMClusterUtil.MasterThread t : masters) {
-        if (!t.master.isActiveMaster()) {
-          try {
-            t.master.stopMaster();
-          } catch (IOException e) {
-            LOG.error("Exception occurred while stopping master", e);
+        // Master was killed but could be still considered as active. Check first if it is stopped.
+        if (!t.master.isStopped()) {
+          if (!t.master.isActiveMaster()) {
+            try {
+              t.master.stopMaster();
+            } catch (IOException e) {
+              LOG.error("Exception occurred while stopping master", e);
+            }
+            LOG.info("Stopped backup Master {} is stopped: {}",
+                t.master.hashCode(), t.master.isStopped());
+          } else {
+            if (activeMaster != null) {
+              LOG.warn("Found more than 1 active master, hash {}", activeMaster.master.hashCode());
+            }
+            activeMaster = t;
+            LOG.debug("Found active master hash={}, stopped={}",
+                t.master.hashCode(), t.master.isStopped());
           }
-        } else {
-          activeMaster = t;
         }
       }
       // Do active after.