[
https://issues.jboss.org/browse/ISPN-3048?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-3048:
------------------------------------
[~pferraro] I agree with Pedro, eviction should not be transactional. If you have a test
that fails with size-based eviction, please attach it here. Note that by enabling
size-based eviction without passivation, you agree that your data can be lost at any time,
and if your isolation level is READ_COMMITTED, even ongoing transactions can see the entry
as removed.
[~pruivo] I don't think this is related to ISPN-3694, Paul's problem is with
size-based eviction, and the problem Will found is only with manual 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.1.0.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