[ 
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)

Reply via email to