[infinispan-issues] [JBoss JIRA] (ISPN-2263) ConcurrentModificationException during cancellation of outbound state transfer
Dan Berindei (JIRA)
jira-events at lists.jboss.org
Thu Sep 6 05:34:32 EDT 2012
[ https://issues.jboss.org/browse/ISPN-2263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Berindei updated ISPN-2263:
-------------------------------
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:
{noformat}
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]
{noformat}
was:
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:
{{noformat}}
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]
{{noformat}}
> ConcurrentModificationException during cancellation of outbound state transfer
> ------------------------------------------------------------------------------
>
> Key: ISPN-2263
> URL: https://issues.jboss.org/browse/ISPN-2263
> Project: Infinispan
> Issue Type: Feature Request
> Components: State transfer
> Affects Versions: 5.2.0.Alpha3
> Reporter: Adrian Nistor
> Assignee: Adrian Nistor
> Fix For: 5.2.0.Alpha4
>
>
> 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:
> {noformat}
> 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]
> {noformat}
--
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