Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
In case ExpirePolicy is used, than in CacheVersionConflictResolverImpl#resolve used the Merge strategy to set TTL and EXPIRE for the conflicted entry.
If the entry received from other dataCenter it marked as merged and later its original version is ignored.
See IgniteTxLocalAdapter#userCommit:672L:
- It replace explicitVer (set to original version) with local transaction version `explicitVer = writeVersion()`
- Later its set as conflict version txEntry.conflictVersion(explicitVer)
- `GridCacheVersionEx#addConflictVersion` return the tx version as it now equals to the conflict version
Reproducer https://github.com/apache/ignite-extensions/pull/254