summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAndrew MacBean <macbean@apache.org>2014-11-04 16:59:07 +0000
committerAndrew MacBean <macbean@apache.org>2014-11-04 16:59:07 +0000
commit3cf16baf5d75441f6dd02aeda5ff793de6b27c93 (patch)
tree6cbc091091e5603bc4e8c6e97f13f7885b7750d0 /qpid/java
parentc64d0182543fd9b2b8029fb18f99993a3891977c (diff)
downloadqpid-python-3cf16baf5d75441f6dd02aeda5ff793de6b27c93.tar.gz
QPID-6208: PermittedNodeList seen to disappear while performing certain HA operations
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636646 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java23
1 files changed, 16 insertions, 7 deletions
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 a35f87829e..41bba263a9 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
@@ -1026,17 +1026,26 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
if (NodeRole.MASTER == newRole)
{
byte[] applicationState = nodeState.getAppState();
- Set<String> permittedNodes = ReplicatedEnvironmentFacade.convertApplicationStateBytesToPermittedNodeList(applicationState);
- if (_permittedNodes.size() != permittedNodes.size() || !_permittedNodes.containsAll(permittedNodes))
+ if (applicationState != null)
{
- if (_permittedNodes.contains(remoteNode.getAddress()))
+ Set<String> permittedNodes = ReplicatedEnvironmentFacade.convertApplicationStateBytesToPermittedNodeList(applicationState);
+ if (_permittedNodes.size() != permittedNodes.size() || !_permittedNodes.containsAll(permittedNodes))
{
- setAttribute(PERMITTED_NODES, _permittedNodes, new ArrayList<String>(permittedNodes));
+ if (_permittedNodes.contains(remoteNode.getAddress()))
+ {
+ setAttribute(PERMITTED_NODES, _permittedNodes, new ArrayList<String>(permittedNodes));
+ } else
+ {
+ LOGGER.warn("Cannot change permitted nodes from Master as existing master node '" + remoteNode.getName()
+ + "' (" + remoteNode.getAddress() + ") is not in list of trusted nodes " + _permittedNodes);
+ }
}
- else
+ }
+ else
+ {
+ if (LOGGER.isDebugEnabled())
{
- LOGGER.warn("Cannot change permitted nodes from Master as existing master node '" + remoteNode.getName()
- + "' (" + remoteNode.getAddress() + ") is not in list of trusted nodes " + _permittedNodes);
+ LOGGER.debug(String.format("Application state returned by JE was 'null' so skipping permitted node handling: s%", nodeState));
}
}
}