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]

Reply via email to