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;
}