[infinispan-issues] [JBoss JIRA] (ISPN-5016) Specify and document cache consistency guarantees

Radim Vansa (JIRA) issues at jboss.org
Mon Dec 22 11:05:30 EST 2014


    [ https://issues.jboss.org/browse/ISPN-5016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13029261#comment-13029261 ] 

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)


More information about the infinispan-issues mailing list