Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-21285

Data entries looped in CDC if ExpirePolicy is set

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • extensions

    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:

      1. It replace explicitVer (set to original version) with local transaction version `explicitVer = writeVersion()`
      2. Later its set as conflict version txEntry.conflictVersion(explicitVer)
      3. `GridCacheVersionEx#addConflictVersion` return the tx version as it now equals to the conflict version

       

      Reproducer https://github.com/apache/ignite-extensions/pull/254

      Attachments

        Activity

          People

            NSAmelchev Nikita Amelchev
            timonin.maksim Maksim Timonin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 0.5h
                0.5h