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

Meta storage idempotent invokes: implement idempotent cache cleanup logic

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0
    • None

    Description

      Motivation

      General context is available in the IGNITE-21881. Specifics related to the idempotent cache persistency is covered in the IGNITE-22214. Given ticket is about removing obsolete cache entries from both volatile and persistent idempotent command caches.

      Definition of Done

      • Obsolete idempotent cache entries are eventually removed from both volatile cache and meta storage persistent backup.  

      Implementation Notes

      There's no need to have command result longer than org.apache.ignite.internal.raft.configuration.RaftConfiguration#responseTimeout  + CLOCK_SKEW. In future we may use MS GC in order to check aforementioned condition and asynchronously remove obsolete cache entries. For now we may use any other trigger, like some invoke calls. 

      It's reasonable to remove persistent obsolete entry prior to removing corresponding entry from volatile cache for better robustness, thus we will only have entry in persistent storage if it's available in volatile one.

      Attachments

        Issue Links

          Activity

            People

              alapin Alexander Lapin
              alapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: