-
Bug
-
Resolution: Done
-
Major
-
5.3.0.Final
-
None
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)
+
// 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
}
+ }
- is incorporated by
-
ISPN-3051 Allow configuring the number of segments per node
- Closed