Details
-
Feature Request
-
Resolution: Done
-
Major
-
5.2.0.Alpha3
-
None
Description
The following exception is thrown on the sender node when a receiving node leaves the cache during state transfer. The leave should result in cancellation of outbound state transfers but this fails with the exception seen below:
Caused by: java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) [classes.jar:1.6.0_33] at java.util.AbstractList$Itr.next(AbstractList.java:343) [classes.jar:1.6.0_33] at org.infinispan.statetransfer.StateProviderImpl.cancelOutboundTransfer(StateProviderImpl.java:285) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.infinispan.statetransfer.StateRequestCommand.perform(StateRequestCommand.java:96) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:95) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.infinispan.remoting.InboundInvocationHandlerImpl.handleWithWaitForBlocks(InboundInvocationHandlerImpl.java:110) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:82) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:228) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:208) [infinispan-core-5.2.0.Alpha3.jar:5.2.0.Alpha3] at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:465) at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:372) at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:247) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:601) at org.jgroups.blocks.mux.MuxUpHandler.up(MuxUpHandler.java:130) at org.jgroups.JChannel.up(JChannel.java:715) at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1020) at org.jgroups.protocols.RSVP.up(RSVP.java:192) at org.jgroups.protocols.FRAG2.up(FRAG2.java:181) at org.jgroups.protocols.FlowControl.up(FlowControl.java:418) at org.jgroups.protocols.FlowControl.up(FlowControl.java:400) at org.jgroups.protocols.pbcast.GMS.up(GMS.java:899) at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244) at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:744) at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:414) at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:608) at org.jgroups.protocols.BARRIER.up(BARRIER.java:102) at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:143) at org.jgroups.protocols.FD.up(FD.java:273) at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:288) at org.jgroups.protocols.MERGE2.up(MERGE2.java:205) at org.jgroups.protocols.Discovery.up(Discovery.java:359) at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2568) at org.jgroups.protocols.TP.passMessageUp(TP.java:1211) at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1775) at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1748) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_33] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_33]