[infinispan-issues] [JBoss JIRA] (ISPN-2578) Two PrepareCommands in parallel cause ConcurrentModificationException
Radim Vansa (JIRA)
jira-events at lists.jboss.org
Mon Dec 3 10:11:21 EST 2012
Radim Vansa created ISPN-2578:
---------------------------------
Summary: Two PrepareCommands in parallel cause ConcurrentModificationException
Key: ISPN-2578
URL: https://issues.jboss.org/browse/ISPN-2578
Project: Infinispan
Issue Type: Bug
Reporter: Radim Vansa
Assignee: Mircea Markus
Situation:
1) Node A broadcasts PrepareCommand to nodes B, C
2) Node A leaves cluster, causing new topology to be installed
3) The command arrives to B and C, with lower topology than the current one
4) Both B and C forward the command to node D
5) D executes the two commands in parallel and finds out that A has left, therefore executing RollbackCommand
In {{AbstractTxLockingInterceptor.visitRollbackCommand}} we call {{LockManagerImpl.unlockAll}} which iterates over the keys and unlocks them. As these two prepares aren't synchronized over the {{lockedKeys}} set, one may unlock and remove these keys while the other is iterating through them, causing {{ConcurrentModificationException}}.
--
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