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

ActivationInterceptor on get always deletes store contents

    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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  william.burns Will Burns
                  Reporter:
                  william.burns Will Burns
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: