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

ActivationInterceptor on get always deletes store contents

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: