Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
None
-
None
Description
There is a small inconsistency with unsafe flags and conditional commands when the cache is transactions and L1 is enabled. Some conditional commands don't set the unsafe flags while others do.
Unsafe flags are set to:
- putIfAbsent(k,v)
- replace(k,v)
and they aren't set for: - remove(k, v)
- replace(k, v, v)
this brings to an inconsistent behavior. In a non-owner:
- a replace(k, v) will fetch the entry and don't store it in L1
- a replace(k, v, v) will fetch the entry and store it in L1
Proposed fix: don't set the unsafe flags for all the conditional commands.