Author: macbean
Date: Tue Nov 4 16:59:07 2014
New Revision: 1636646
URL: http://svn.apache.org/r1636646
Log:
QPID-6208: PermittedNodeList seen to disappear while performing certain HA
operations
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java?rev=1636646&r1=1636645&r2=1636646&view=diff
==============================================================================
---
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
(original)
+++
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
Tue Nov 4 16:59:07 2014
@@ -1026,17 +1026,26 @@ public class BDBHAVirtualHostNodeImpl ex
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));
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]