summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore/src/main
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-07-21 15:41:27 +0000
committerAlex Rudyy <orudyy@apache.org>2014-07-21 15:41:27 +0000
commit47893288853bd36080ac30c73e63599845ac58f0 (patch)
tree42886e433f94987d8c65c2c3f52a9922fd8683f9 /qpid/java/bdbstore/src/main
parent3bc963f77d3ffb5a24fbad247cbf7cd3f39b82d6 (diff)
downloadqpid-python-47893288853bd36080ac30c73e63599845ac58f0.tar.gz
QPID-5891: Add operational logging for the cases when remote node becomes detached or attached
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1612321 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/src/main')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java11
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java10
2 files changed, 21 insertions, 0 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
index 64b29b8daf..5263f5942f 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
@@ -59,6 +59,7 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB
private final AtomicReference<State> _state;
private final boolean _isMonitor;
+ private boolean _detached;
public BDBHARemoteReplicationNodeImpl(BDBHAVirtualHostNode<?> virtualHostNode, Map<String, Object> attributes, ReplicatedEnvironmentFacade replicatedEnvironmentFacade)
{
@@ -255,4 +256,14 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB
boolean isActive = MASTER.name().equals(role) || REPLICA.name().equals(role);
_state.compareAndSet(currentState, isActive ? State.ACTIVE : State.UNAVAILABLE);
}
+
+ public boolean isDetached()
+ {
+ return _detached;
+ }
+
+ public void setDetached(boolean detached)
+ {
+ this._detached = detached;
+ }
}
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
index e629da3d26..8b3b45c63f 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
@@ -757,12 +757,22 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
if (nodeState == null)
{
remoteNode.setRole(ReplicatedEnvironment.State.UNKNOWN.name());
+ if (!remoteNode.isDetached())
+ {
+ getEventLogger().message(getVirtualHostNodeLogSubject(), HighAvailabilityMessages.DETACHED(remoteNode.getName(), getGroupName()));
+ remoteNode.setDetached(true);
+ }
}
else
{
remoteNode.setJoinTime(nodeState.getJoinTime());
remoteNode.setLastTransactionId(nodeState.getCurrentTxnEndVLSN());
remoteNode.setRole(nodeState.getNodeState().name());
+ if (remoteNode.isDetached())
+ {
+ getEventLogger().message(getVirtualHostNodeLogSubject(), HighAvailabilityMessages.ATTACHED(remoteNode.getName(), getGroupName(), remoteNode.getRole() ));
+ remoteNode.setDetached(false);
+ }
}
String newRole = remoteNode.getRole();