<p>Hi Galder</p>
<p>First of all, thanks for reading!</p>
<p>On Mar 9, 2012 12:54 PM, &quot;Galder Zamarreņo&quot; &lt;<a href="mailto:galder@redhat.com">galder@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hey Dan,<br>
&gt;<br>
&gt; Thanks very much for writing this up! Some questions:<br>
&gt;<br>
&gt; 1. What&#39;s &quot;steady state&quot; ? Running status after state transfer has happened?<br>
&gt;</p>
<p>Exactly, it&#39;s when there is no state transfer in progress.</p>
<p>&gt; 2. In L1, I don&#39;t understand what you mean in &quot;we do need to add the old no-longer-owners as requestors for the transferred keys&quot;. Do we really need L1OnRehash? What&#39;s the use case/motivation for this option?<br>

&gt;</p>
<p>If we have a put on a new owner, it must know to invalidate the key both on the nodes that read it after the CH change and the ones that read before the CH change (from an old owner). It will become critical once we start staggering clustered get commands.</p>

<p>The L1OnRehash requirement is a bit different, because the old owner wasn&#39;t on any requestor list before the ownership change. But the solution is the same.</p>
<p>&gt; 3. Recovery cache, just wondering, shouldn&#39;t we configure such cache with a cache store by default? Would that help?<br>
&gt;</p>
<p>I think a cache store would slow things too much, but it would solve this.</p>
<p>&gt; 4. What&#39;s the data container snapshot exactly? What kind of impact would it have on memory consumption?<br>
&gt;</p>
<p>It&#39;s not really a snapshot, I just called it a snapshot to convey the idea that the (Bounded)ConcurrentHashMap doesn&#39;t pick up all the changes made after the start of the iteration.</p>
<p>&gt; One last comment: There&#39;s a lot of detail in that wiki which is hard to fully understand. I think it would really help to build some diagrams explaining some of the process to help the community understand better your design, or alternative solutions. WDYT?<br>

&gt;</p>
<p>Fair point. I focused more on keeping track of required code changes to make sure I don&#39;t miss anything, but that ended up being even more dense so I removed it from the wiki.</p>
<p>Any particular diagram requests, to help prioritize things?</p>
<p>Cheers<br>
Dan</p>
<p>&gt; Cheers,<br>
&gt;<br>
&gt; On Mar 8, 2012, at 10:55 AM, Dan Berindei wrote:<br>
&gt;<br>
&gt; &gt; Hi guys<br>
&gt; &gt;<br>
&gt; &gt; It&#39;s been a long time coming, but I finally published the non-blocking<br>
&gt; &gt; state transfer draft on the wiki:<br>
&gt; &gt; <a href="https://community.jboss.org/wiki/Non-blockingStateTransfer">https://community.jboss.org/wiki/Non-blockingStateTransfer</a><br>
&gt; &gt;<br>
&gt; &gt; Unlike my previous state transfer design document, I think I&#39;ve<br>
&gt; &gt; fleshed out most of the implications. Still, there are some things I<br>
&gt; &gt; don&#39;t have a clear solution for yet. As you would expect it&#39;s mostly<br>
&gt; &gt; around merging and delayed state transfer.<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m looking forward to hearing your comments/advice!<br>
&gt; &gt;<br>
&gt; &gt; Cheers<br>
&gt; &gt; Dan<br>
&gt; &gt;<br>
&gt; &gt; PS: Let&#39;s discuss this over the mailing list only.<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; infinispan-dev mailing list<br>
&gt; &gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;<br>
&gt; --<br>
&gt; Galder Zamarreņo<br>
&gt; Sr. Software Engineer<br>
&gt; Infinispan, JBoss Cache<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; infinispan-dev mailing list<br>
&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
</p>