[infinispan-issues] [JBoss JIRA] (ISPN-2428) ConcurrentModificationException in StateConsumerImpl

Radim Vansa (JIRA) jira-events at lists.jboss.org
Mon Oct 22 11:37:01 EDT 2012


Radim Vansa created ISPN-2428:
---------------------------------

             Summary: ConcurrentModificationException in StateConsumerImpl
                 Key: ISPN-2428
                 URL: https://issues.jboss.org/browse/ISPN-2428
             Project: Infinispan
          Issue Type: Bug
          Components: State transfer
    Affects Versions: 5.2.0.Beta2
            Reporter: Radim Vansa
            Assignee: Adrian Nistor


In StateConsumerImpl.onTopologyUpdate(...) the transfersBySource.keySet() is iterated while under some conditions transfersBySource.remove(...) is called. As the iterated keySet is backed by the HashMap itself modifications during iteration are not permitted and I got
{code}
java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:894)
	at java.util.HashMap$KeyIterator.next(HashMap.java:928)
	at org.infinispan.statetransfer.StateConsumerImpl.onTopologyUpdate(StateConsumerImpl.java:215)
	at org.infinispan.statetransfer.StateTransferManagerImpl.doTopologyUpdate(StateTransferManagerImpl.java:186)
	at org.infinispan.statetransfer.StateTransferManagerImpl.access$000(StateTransferManagerImpl.java:58)
	at org.infinispan.statetransfer.StateTransferManagerImpl$1.updateConsistentHash(StateTransferManagerImpl.java:117)
	at org.infinispan.topology.LocalTopologyManagerImpl.handleConsistentHashUpdate(LocalTopologyManagerImpl.java:194)
	at org.infinispan.topology.CacheTopologyControlCommand.doPerform(CacheTopologyControlCommand.java:165)
	at org.infinispan.topology.CacheTopologyControlCommand.perform(CacheTopologyControlCommand.java:137)
	at org.infinispan.topology.ClusterTopologyManagerImpl$3.call(ClusterTopologyManagerImpl.java:554)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
{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: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list