[infinispan-issues] [JBoss JIRA] (ISPN-3395) ISPN000196: Failed to recover cluster state after the current node became the coordinator

Mayank Agarwal (JIRA) jira-events at lists.jboss.org
Mon Aug 5 04:23:26 EDT 2013


Mayank Agarwal created ISPN-3395:
------------------------------------

             Summary: ISPN000196: Failed to recover cluster state after the current node became the coordinator
                 Key: ISPN-3395
                 URL: https://issues.jboss.org/browse/ISPN-3395
             Project: Infinispan
          Issue Type: Bug
    Affects Versions: 5.3.0.Final
            Reporter: Mayank Agarwal
            Assignee: Mircea Markus


We are using infinispan 5.3.0.Final in our distributed application. we are testing infinispan in HA scenarios and getting following exception when new node becomes co-ordinator.

ISPN000196: Failed to recover cluster state after the current node became the coordinator 

java.lang.NullPointerException: null 
        at org.infinispan.topology.ClusterTopologyManagerImpl.recoverClusterStatus(ClusterTopologyManagerImpl.java:455) ~[infinispan-core-5.3.0.1.Final.jar:5.3.0.1.Final] 
        at org.infinispan.topology.ClusterTopologyManagerImpl.handleNewView(ClusterTopologyManagerImpl.java:235) ~[infinispan-core-5.3.0.1.Final.jar:5.3.0.1.Final] 
        at org.infinispan.topology.ClusterTopologyManagerImpl$ClusterViewListener$1.run(ClusterTopologyManagerImpl.java:647) ~[infinispan-core-5.3.0.1.Final.jar:5.3.0.1.Final]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:1.6.0_25] 
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) ~[na:1.6.0_25] 
        at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_25] 
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_25] 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_25] 
        at java.lang.Thread.run(Unknown Source) [na:1.6.0_25] 

This is happening because cacheTopology is null at ClusterTopologyManagerImpl.java:455

at 449: code is checking cacheTopology for null that for loop which is updating cacheStatusMap at 457 should be in that check itself.

Fix:
--- a/core/src/main/java/org/infinispan/topology/ClusterTopologyManagerImpl.java
+++ b/core/src/main/java/org/infinispan/topology/ClusterTopologyManagerImpl.java
@@ -448,7 +448,7 @@ public class ClusterTopologyManagerImpl implements ClusterTopologyManager {
             // but didn't get a response back yet
             if (cacheTopology != null) {
                topologyList.add(cacheTopology);
-            }
+            
 
             // Add all the members of the topology that have sent responses first
             // If we only added the sender, we could end up with a different member order
@@ -457,6 +457,7 @@ public class ClusterTopologyManagerImpl implements ClusterTopologyManager {
                   cacheStatusMap.get(cacheName).addMember(member);
                }
             }
+            }
 



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list