[
https://issues.jboss.org/browse/ISPN-5016?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-5016:
-----------------------------------
{quote}Overlapping operations can happen in any order{quote}
What does 'happen' mean? I guess that eventually the state will be observed with
those operations in certain order but does it mean that all threads will observe the
writes in the same order? I think that JMM does not guarantee anything like that, and we
should put emphasis on this if it's the case for Infinispan, too.
{quote}Note that the transaction manager will hide the exception when the cache is
registered as a synchronization (BATCH and NON_XA).{quote}
Are you sure about this? I thought that write skew check will fire in prepare phase, and
exceptions from prepare are not hidden neither in synchronization mode.
{quote}maxIdle behaves similarly, except the reference timestamps are from the last write
OR read operation.{quote}
We could reference here ISPN-3202, expiration through idle time is not correctly
maintained in cache store.
{quote}In transactional caches, it also suspends the current transaction, and the next
read in the transaction will not see the value.{quote}
Sounds a bit like you had to resume the transaction manually after putForExternal read.
Specify and document cache consistency guarantees
-------------------------------------------------
Key: ISPN-5016
URL:
https://issues.jboss.org/browse/ISPN-5016
Project: Infinispan
Issue Type: Task
Components: Documentation-Core
Affects Versions: 7.0.2.Final
Reporter: Radim Vansa
Assignee: Dan Berindei
Priority: Critical
We can't simply use the consistency model defined by Java Specification and broaden
it for whole cache (maybe the expression "can't" is too strong, but we
definitely don't want to do that in some cases).
By consistency guarantees/model I mean mostly in which order are
writes allowed to be observed: and we can't boil it down to simply
causal, PRAM or any other consistency model as writes can be observed as non-atomic in
Infinispan.
Infinispan documentation is quite scarce about that, the only trace I've
found is in Glossarry [2] "Infinispan has traditionally followed ACID
principles as far as possible, however an eventually consistent mode
embracing BASE is on the roadmap."
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)