You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ma...@apache.org on 2014/11/04 17:59:08 UTC

svn commit: r1636646 - /qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java

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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org