[
https://issues.jboss.org/browse/ISPN-3048?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-3048:
------------------------------------
[~pruivo] I'm not sure it it's still relevant, but from the bug description I
understood that Paul is using manual eviction to work around data loss that used to happen
with size-based eviction.
Eviction needs to be transactional
----------------------------------
Key: ISPN-3048
URL:
https://issues.jboss.org/browse/ISPN-3048
Project: Infinispan
Issue Type: Bug
Components: Eviction
Affects Versions: 5.3.0.Alpha1
Reporter: Paul Ferraro
Assignee: Pedro Ruivo
Priority: Critical
Labels: 620
Fix For: 6.0.1.Final
Currently, Infinispan eviction is non-transactional. This makes Infinispan's
eviction manager virtually unusable, since non-transactional eviction can cause phantom
reads and data loss because it violates the isolation of concurrent transactions. This is
especially problematic when using a passivation-enabled cache store. In this case, a
cache eviction/passivation can cause a concurrently executed cache retrieval to return
null - even though the act of passivation does not change the data - it only changes where
it is stored.
We work around this in the AS by performing eviction manually, using pessimistic locking
in combination with eager lock acquisition prior to eviction. This is unfortunate, since
it prevents me from leveraging Infinispan's build-in eviction strategies.
--
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