diff options
| author | Alex Rudyy <orudyy@apache.org> | 2014-07-21 15:41:27 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2014-07-21 15:41:27 +0000 |
| commit | 47893288853bd36080ac30c73e63599845ac58f0 (patch) | |
| tree | 42886e433f94987d8c65c2c3f52a9922fd8683f9 /qpid/java/bdbstore/src/main | |
| parent | 3bc963f77d3ffb5a24fbad247cbf7cd3f39b82d6 (diff) | |
| download | qpid-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')
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(); |
