]
Galder Zamarreño updated ISPN-4387:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
Write Skew Check does not work with Passivation
-----------------------------------------------
Key: ISPN-4387
URL:
https://issues.jboss.org/browse/ISPN-4387
Project: Infinispan
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Transactions
Affects Versions: 7.0.0.Alpha4
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
Fix For: 7.0.0.Alpha5
Write Skew Check does not perform the validation correctly when Passivation is enabled.
Issue:
The current implementation checks the most recent version/value in DataContainer.
However, the entry may be passivated and it is not present in DataContainer. The Write
Skew Check will abort the transaction when the transaction read some value (say version
V), because it is expecting to find the version V but it does not find the entry. It
assumes that the entry was removed and aborts the transaction.
A more dangerous case is when at least two transactions are writing to a new key. The
first commits and before the second transaction is prepared, the entry is passivated. In
this case, it assumes the entry does not exists and let the second transaction to commit.
Solution:
It needs to try to load the entry from Persistence.