]
Tristan Tarrant updated ISPN-10240:
-----------------------------------
Fix Version/s: 10.0.1.Final
(was: 10.0.0.Final)
Explicitly disallow concurrent operations in the same transaction
-----------------------------------------------------------------
Key: ISPN-10240
URL:
https://issues.jboss.org/browse/ISPN-10240
Project: Infinispan
Issue Type: Enhancement
Components: Core
Affects Versions: 10.0.0.Beta3, 9.4.14.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Priority: Major
Fix For: 10.0.1.Final
Invoking multiple cache operations in parallel in the same transaction is inherently
dangerous, especially when they touch the same keys (e.g. if one of them is a bulk
operation).
Invoking multiple cache operations in parallel became much more easier when we added
asynchronous operations, and while we "know" it's not ok to access the same
transaction in parallel, there is no explicit guard against it.
{{AbstractCacheTransaction.lookedUpEntries}} is a {{HashMap}}, which will sometimes throw
a {{ConcurrentModificationException}}, but most of the time the exception is something
completely unrelated, making the problem even harder to trace back to its cause (e.g.
ISPN-10239).