From 8a3de7651333492990aee20717a87dbfd2acf768 Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Thu, 4 Sep 2014 14:29:16 +0000 Subject: QPID-6063: [Java Broker] BDB HA - report node role correctly after node restart in group without quorum or node error * if a node is restarted but there are too few nodes attached to achieve quorum, the role is now reported as WAITING (previously it was erroneously reported as DETACHED) * if a node goes into error state (for example in response to an intruder), the role is now reported as DETACHED (previously it continued to report its previous role) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1622488 13f79535-47bb-0310-9956-ffa450edef68 --- .../berkeleydb/BDBHAVirtualHostNodeImpl.java | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'qpid/java') 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 dd7f99c8d4..90537bfbb4 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 @@ -95,7 +95,7 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode _environmentFacade = new AtomicReference<>(); - private final AtomicReference _lastReplicatedEnvironmentState = new AtomicReference<>(NodeRole.WAITING); + private final AtomicReference _lastRole = new AtomicReference<>(NodeRole.DETACHED); private BDBHAVirtualHostNodeLogSubject _virtualHostNodeLogSubject; private GroupLogSubject _groupLogSubject; private String _virtualHostNodePrincipalName; @@ -206,7 +206,7 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode() { @@ -973,6 +984,9 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode