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

L1ManagerImpl doesn't reliably invalidate with async caches

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Minor
    • None
    • 5.2.1.Final
    • Core

    Description

      B is owner of k,v1
      A has k,v1 in L1
      1. TX: A puts k,v2
      2. TX: A sends async PrepareCommand k,v2 to B (one-phase-commit)
      3. TX: A removes k,v1 from L1
      4. A putForExternalRead k,v1 and has it in L1 again
      5. TX: B executes PrepareCommand k,v2 but doesn't send invalidation to origin

      Result: A has k,v1 and B has k,v2

      Solution: For async caches send invalidation to origin too.

      The problem is that the owner updates the cache entry asynchronously. This gives the origin of the transaction time to request the entry. Here an outdated version is received and placed in L1. The owner never invalidates the entry and as result the cache is inconsistent.

      Attachments

        Activity

          People

            wburns@redhat.com Will Burns
            sebastiantusk Sebastian Tusk (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: