[
https://issues.apache.org/jira/browse/IGNITE-21285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Timonin updated IGNITE-21285:
------------------------------------
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]
was:
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
> Data entries looped in CDC if ExpirePolicy is set
> --------------------------------------------------
>
> Key: IGNITE-21285
> URL: https://issues.apache.org/jira/browse/IGNITE-21285
> Project: Ignite
> Issue Type: Bug
> Reporter: Maksim Timonin
> Assignee: Maksim Timonin
> Priority: Major
> Labels: ise
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)