Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-11079

Cluster Expiration and Optimistic Transactions write skew issues

    XMLWordPrintable

Details

    Description

      Optimistic write skew and clustered expiration can have some weird issues

      One such is:

      The issue is the following:

      1. RemoveExpiredCommand reads the expired from the container with version 1 and puts in its context
      2. PutKeyValueCommand sees nothing in container due to expired and adds a new entry with version 1 in its context
      3. Put gets the lock and replaces the value
      4. RemoveExpiredCommand attempts to run and because it saw the old value the lifespans still match (if different)
      5. Then the write skew passes for the remove expired command since the value in container and its context both have version 1

      To workaround this for now we should prevent a get of an expired entry from returning early when using optimistic transactions.

      Attachments

        Activity

          People

            wburns@redhat.com Will Burns
            wburns@redhat.com Will Burns
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: