[
https://issues.jboss.org/browse/ISPN-3395?page=com.atlassian.jira.plugin....
]
RH Bugzilla Integration commented on ISPN-3395:
-----------------------------------------------
Michal Babacek <mbabacek(a)redhat.com> changed the Status of [bug
927615|https://bugzilla.redhat.com/show_bug.cgi?id=927615] from ASSIGNED to VERIFIED
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
Components: State Transfer
Affects Versions: 5.3.0.Final
Reporter: Mayank Agarwal
Assignee: Dan Berindei
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