[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