Details
-
Bug
-
Resolution: Obsolete
-
Major
-
5.1.6.FINAL
-
None
-
Medium
Description
They should only be performed on entries that are read first and then updated. The current implementation doesn't cause any problems, however it is unnecessary processing and certain transactions may unnecessarily abort if, for example, an entry is read, and not written to, but the entry changes before the transaction commits.
From Pedro Ruivo's email to infinispan-dev, where this was reported:
I've noticed that in the last version (5.1.x) the write skew check is
performed on all keys written. However, from your documentation [1] I
understood that the write skew was meant to be performed only on the
written keys that were previously read.Is this change intentional?
Cheers,
Pedro Ruivo[1] https://docs.jboss.org/author/display/ISPN51/Data+Versioning
"Write skew checks are performed at prepare-time to ensure a concurrent
transaction hasn't modified an entry while it was read and potentially
updated based on the value read."