<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Also see&nbsp;<a href="https://issues.jboss.org/browse/ISPN-1642">https://issues.jboss.org/browse/ISPN-1642</a>&nbsp;and&nbsp;<a href="https://github.com/infinispan/infinispan/pull/761">https://github.com/infinispan/infinispan/pull/761</a>&nbsp;:-)<div><br><div><div>On 21 Dec 2011, at 12:29, Manik Surtani wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>On 21 Dec 2011, at 11:56, Sanne Grinovero wrote:<br><br><blockquote type="cite">On 21 December 2011 12:30, Manik Surtani &lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt; wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">Interesting thread. &nbsp;I think this is what we should do, given that the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">ResponseGenerator already bypasses serialising unnecessary return values.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Further, I think loading from a cache store is entirely unnecessary for the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">remote node, for both REPL and DIST, except:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">* Until we have <a href="https://issues.jboss.org/browse/ISPN-317">https://issues.jboss.org/browse/ISPN-317</a> implemented. &nbsp;In<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">which case (only) the primary owner/coordinator will still need to load from<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">store.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Not sure I see why, especially with REPL. If your thoughts are related<br></blockquote><blockquote type="cite">to locking, we should be able to lock the key for the duration of<br></blockquote><blockquote type="cite">atomic operations or transactions without actually loading the entry<br></blockquote><blockquote type="cite">from slow-store.<br></blockquote><br>Yes, this would be unnecessary with REPL. &nbsp;This was more for DIST.<br><br><blockquote type="cite"><blockquote type="cite">* We are using write skew checks, and have eviction enabled. &nbsp;Again in which<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">case only the primary owner/coordinator will still need to load from store,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">to be able to perform a version comparison.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Right I forgot we have write skew checks now. But we should need this<br></blockquote><blockquote type="cite">only when they are enabled.<br></blockquote><br>Yes.<br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">More importantly, should we change the "schema" of CacheLoader to<br></blockquote><blockquote type="cite">store the version as well?<br></blockquote><br>It does already - since it stores serialised InternalCacheValues.<br><br><blockquote type="cite">So that the CacheLoader API can load version information without<br></blockquote><blockquote type="cite">loading the value.<br></blockquote><br>Hmm - that would be a change to the CacheLoader SPI, but certainly interesting/worthwhile. &nbsp;New JIRA?<br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">Both for this case and the above one (locking an entry without loading<br></blockquote><blockquote type="cite">it), it might make sense to have cache entries in the container<br></blockquote><blockquote type="cite">optionally having a marker like "value not here - load from CacheStore<br></blockquote><blockquote type="cite">in case of need".<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">In all other cases loading from the cache store should not happen on the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">remote node! &nbsp;:)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I'll take a look at the size/complexity/risk of such a patch, but any more<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">thoughts from you guys will be much appreciated.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Cheers<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Manik<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Awesome, thanks<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">infinispan-dev mailing list<br></blockquote><blockquote type="cite"><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br></blockquote><blockquote type="cite"><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br></blockquote><br>--<br>Manik Surtani<br><a href="mailto:manik@jboss.org">manik@jboss.org</a><br>twitter.com/maniksurtani<br><br>Lead, Infinispan<br>http://www.infinispan.org<br><br><br><br><br>_______________________________________________<br>infinispan-dev mailing list<br>infinispan-dev@lists.jboss.org<br>https://lists.jboss.org/mailman/listinfo/infinispan-dev<br></div></blockquote></div><br><div apple-content-edited="true">
<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><br class="Apple-interchange-newline">
</div>
<br></div></body></html>