[infinispan-issues] [JBoss JIRA] (ISPN-3693) ActivationInterceptor on get always deletes store contents

William Burns (JIRA) jira-events at lists.jboss.org
Fri Nov 8 11:32:02 EST 2013


William Burns created ISPN-3693:
-----------------------------------

             Summary: ActivationInterceptor on get always deletes store contents
                 Key: ISPN-3693
                 URL: https://issues.jboss.org/browse/ISPN-3693
             Project: Infinispan
          Issue Type: Bug
          Components: Loaders and Stores
    Affects Versions: 6.0.0.CR1
            Reporter: William Burns
            Assignee: Mircea Markus
             Fix For: 6.0.0.CR2


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
{code}
t1 -> calls get retrieves value from context (dc)
t2 -> cals evict retrieves valule from context (dc)
t2 -> passivates entry
t1 -> activates entry
t2 -> removes entry from dc
{code}

Note this doesn't affect sized based eviction.

Also looking closer we need to fix the act of activation.  It can cause a window where no data is available between when the loader entry is removed and the data is committed to the data container.  This would especially be apparent with tx caches as the data container wouldn't be updated until the tx is completed where as the loader is removed on the get.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list