<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">You don't really explain how such inconsistencies are possible.<div><br></div><div>I think it makes sense to go into this in more detail on the wiki. &nbsp;For example, on prepare, the cache instance acquires in-memory locks and then writes to the cache store. &nbsp;The cache store implementation keeps these modifications in memory. &nbsp;Later, on commit, the cache instance writes to the in-memory container, flushes the cache store, and then releases locks.</div><div><br></div><div>But, TBH, even if for some reason the cache cannot write to the in-memory container at this point (e.g., an OOM exception) the transaction will have a heuristic outcome thanks to the exception response on commit. &nbsp;The same will happen if the cache store cannot flush. &nbsp;So IMO this is "just as consistent" as the in memory container anyway.</div><div><br><div><div>On 10 Apr 2012, at 14:03, Mircea Markus wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>This is the continuation of a conversation Tristan, Dan and myself started around adding support for XA cache stores in Infinispan 6.0. It is also related to the CacheStore API refactoring scheduled for 6.0 [1].</div><div><br></div><div>The problem:&nbsp;</div><div>When configuring an XA cache with a cache store it is possible for the cache store to end up out of sync with in-memory data. In order to overcome that we would need cache store enhancements.</div><div><br></div><div>Whilst this is definitely a limitation and a nice to have feature not sure that 6.0 is the time and place to start this enhancement. Why?&nbsp;</div><div>There doesn't seem to be any explicit demand from the community/JDG for this feature at the moment, so other features should take priority. There's also a potential workaround for this: don't configure a cache store but the user to manage the XA write in the store directly.</div><div>Wdyt?</div><div><br></div><div>I've also updated the documentation to clearly state that inconsistencies are possible[2].</div><div><br></div><div>Cheers,</div><div>Mircea</div><div><br></div><div>[1]&nbsp;<a href="https://community.jboss.org/wiki/CacheLoaderAndCacheStoreSPIRedesign">https://community.jboss.org/wiki/CacheLoaderAndCacheStoreSPIRedesign</a>&nbsp;</div><div>[2]&nbsp;<a href="https://docs.jboss.org/author/display/ISPN/CacheLoaders#CacheLoaders-CacheLoadersandtransactionalcaches">https://docs.jboss.org/author/display/ISPN/CacheLoaders#CacheLoaders-CacheLoadersandtransactionalcaches</a></div><div><br></div></div>_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/infinispan-dev</blockquote></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org">manik@jboss.org</a></div><div><a href="http://twitter.com/maniksurtani">twitter.com/maniksurtani</a></div><div><br></div><div>Lead, Infinispan</div><div><a href="http://www.infinispan.org">http://www.infinispan.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline">
</div>
<br></div></body></html>