]
Mircea Markus updated ISPN-2897:
--------------------------------
Labels: 5.2.x nbst (was: 5.2.x)
NPE in DefaultConsistentHash
----------------------------
Key: ISPN-2897
URL:
https://issues.jboss.org/browse/ISPN-2897
Project: Infinispan
Issue Type: Bug
Components: Distributed Cache
Affects Versions: 5.2.3.Final
Reporter: Michal Linhard
Assignee: Dan Berindei
Priority: Critical
Labels: 5.2.x, nbst
Fix For: 5.2.4.Final, 5.3.0.Alpha1, 5.3.0.Final
Attachments: serverlogs.zip
Happened in local testing on my laptop with 4 nodes JDG 6.1.0.CR1 (ISPN 5.2.3.Final)
For some reason there's a rebalance with pendingCH=null and this is not handled well
by DefaultConsistentHash.union:
{code}
15:11:04,782 DEBUG [org.infinispan.topology.LocalTopologyManagerImpl] (OOB-5,shared=udp)
Starting local rebalance for cache testCache, topology = CacheTopology{id=3,
currentCH=DefaultConsistentHash{numSegments=40, numOwners=2, members=[node04/default]},
pendingCH=null}
15:11:04,782 WARN [org.infinispan.topology.CacheTopologyControlCommand]
(OOB-5,shared=udp) ISPN000071: Caught exception when handling command
CacheTopologyControlCommand{cache=testCache, type=REBALANCE_START, sender=node04/default,
joinInfo=null, topologyId=3, currentCH=DefaultConsistentHash{numSegments=40, numOwners=2,
members=[node04/default]}, pendingCH=null, throwable=null, viewId=4}:
java.lang.NullPointerException
at
org.infinispan.distribution.ch.DefaultConsistentHash.union(DefaultConsistentHash.java:243)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.distribution.ch.DefaultConsistentHashFactory.union(DefaultConsistentHashFactory.java:120)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.distribution.ch.DefaultConsistentHashFactory.union(DefaultConsistentHashFactory.java:45)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.topology.LocalTopologyManagerImpl.handleRebalance(LocalTopologyManagerImpl.java:228)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.topology.CacheTopologyControlCommand.doPerform(CacheTopologyControlCommand.java:168)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.topology.CacheTopologyControlCommand.perform(CacheTopologyControlCommand.java:137)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommandFromLocalCluster(CommandAwareRpcDispatcher.java:253)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:220)
[infinispan-core-5.2.3.Final-redhat-1.jar:5.2.3.Final-redhat-1]
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:484)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:391)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:249)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:598)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.blocks.mux.MuxUpHandler.up(MuxUpHandler.java:130)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.JChannel.up(JChannel.java:707)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1020)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.RSVP.up(RSVP.java:172)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:896)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:245)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:453)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.pbcast.NAKACK2.handleMessage(NAKACK2.java:721)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:574)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:187)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:288)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.MERGE2.up(MERGE2.java:205)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.Discovery.up(Discovery.java:359)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2616)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.TP.passMessageUp(TP.java:1263)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1825)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1798)
[jgroups-3.2.7.Final-redhat-1.jar:3.2.7.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[rt.jar:1.6.0_37]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[rt.jar:1.6.0_37]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_37]
{code}
--
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: