You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2014/11/18 18:53:16 UTC

[2/5] incubator-brooklyn git commit: Make HA checker not promote again if node is stealing back master

Make HA checker not promote again if node is stealing back master


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/5ebede9e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/5ebede9e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/5ebede9e

Branch: refs/heads/master
Commit: 5ebede9e7224e6457121cd62bd41003727fa95cc
Parents: 2fdc3f9
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Nov 18 11:21:47 2014 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Nov 18 11:29:13 2014 +0000

----------------------------------------------------------------------
 .../ha/HighAvailabilityManagerImpl.java           | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5ebede9e/core/src/main/java/brooklyn/management/ha/HighAvailabilityManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/ha/HighAvailabilityManagerImpl.java b/core/src/main/java/brooklyn/management/ha/HighAvailabilityManagerImpl.java
index e44f30e..a225c1a 100644
--- a/core/src/main/java/brooklyn/management/ha/HighAvailabilityManagerImpl.java
+++ b/core/src/main/java/brooklyn/management/ha/HighAvailabilityManagerImpl.java
@@ -733,13 +733,21 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
                     getHeartbeatTimeout()
                 });
         }
+        String message = "Management node "+ownNodeId+" detected ";
+        String currMasterSummary = currMasterNodeId + "(" + (currMasterNodeRecord==null ? "<none>" : timestampString(currMasterNodeRecord.getRemoteTimestamp())) + ")";
+        if (weAreNewMaster && (ownNodeRecord.getStatus() == ManagementNodeState.MASTER)) {
+            LOG.warn(message + "we must reassert master status, as "+currMasterSummary+" attempted to steal");
+            publishHealth();
+            return;
+        }
+        
         if (!initializing) {
-            String message = "Management node "+ownNodeId+" detected ";
-            if (weAreNewMaster) message += "we should be master, changing from ";
+            if (weAreNewMaster) {
+                message += "we should be master, changing from ";
+            }
             else if (currMasterNodeRecord==null && newMasterNodeId==null) message += "master change attempted but no candidates ";
             else message += "master change, from ";
-            message +=currMasterNodeId + "(" + (currMasterNodeRecord==null ? "<none>" : timestampString(currMasterNodeRecord.getRemoteTimestamp())) + ")"
-                + " to "
+            message += currMasterSummary + " to "
                 + (newMasterNodeId == null ? "<none>" :
                     (weAreNewMaster ? "us " : "")
                     + newMasterNodeId + " (" + timestampString(newMasterNodeRecord.getRemoteTimestamp()) + ")" 
@@ -760,7 +768,7 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
 
     protected void promoteToMaster() {
         if (!running) {
-            LOG.warn("Ignoring promote-to-master request, as HighAvailabilityManager is no longer running");
+            LOG.warn("Ignoring promote-to-master request, as HighAvailabilityManager is not running");
             return;
         }