]
Tristan Tarrant updated ISPN-2092:
----------------------------------
Fix Version/s: 5.1.6.FINAL
(was: 5.1.x)
Git Pull Request:
Write skew check not detected in LOCAL mode when doing multiple
modifications
-----------------------------------------------------------------------------
Key: ISPN-2092
URL:
https://issues.jboss.org/browse/ISPN-2092
Project: Infinispan
Issue Type: Bug
Components: Transactions
Affects Versions: 5.1.5.FINAL
Environment: jdk 1.6.0_32, Fedora 16
Reporter: Adrian Nistor
Assignee: Adrian Nistor
Labels: write-skew
Fix For: 5.1.6.FINAL, 5.2.0.ALPHA1, 5.2.0.FINAL
Using a local cache with optimistic locking, repeatable read and write skew check, two
threads will concurrently execute a transaction that put() the same key. In this case
write skew check is properly detected and only one is able to commit. If the two threads
modify two keys no write skew check happens and both will commit. It turns out there is an
optimization in OptimisticLockingInterceptor for single modification transactions. The
write skew check is properly done on this code path but is not done for the code path that
handles transactions with multiple modifications. More specifically,
LockAcquisitionVisitor.performWriteSkewCheck is not invoked at all. Please have a look at
WriteSkewTest.testCheckWriteSkewWithMultipleModifications() in the pull request that
demonstrates the issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: