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

ActivationInterceptor on get always deletes store contents


    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 6.0.0.Final
    • 6.0.0.CR1
    • Loaders and Stores
    • None

      The activation interceptor when doing manual eviction always removes the entry from the loader on a get. This is done even if the entry is in the data container.

      Now this is fine for a single invocation. However if a concurrent evict command comes on a different thread you can get in a state where the data is neither in the dc or loader defeating the purpose of Passivation.

      The following describes this scenario

      t1 -> calls get retrieves value from context (dc)
      t2 -> calls evict retrieves value from context (dc)
      t2 -> passivates entry (writes entry to loader)
      t1 -> activates entry (removes entry from loader)
      t2 -> removes entry from dc

      Note this doesn't affect size based eviction.

            wburns@redhat.com Will Burns
            wburns@redhat.com Will Burns
            0 Vote for this issue
            2 Start watching this issue