<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 16 Dec 2010, at 11:15, Israel Lacerra wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Manik,<br><br>I've finished the LazyIterator. Now I need to:<br><br>- Code some good tests (now I'm testing using InfinispanDemo with some changes)<br>- Implement all methods of iterators (the most simple are not ready yet)<br>

- Migrate to git<br><br>I will send the code to you in the end of the next week (I think git will help with this) and probably you will show a lot of things to improve!<br></blockquote><div><br></div><div>No worries. &nbsp;I'll only be able to look at it in the first week of Jan, but I'm sure others on this list will be able to comment in the meanwhile. &nbsp;:-)</div><br><blockquote type="cite"><br>Cheers<br>Israel<br><br><div class="gmail_quote">

On Wed, Dec 15, 2010 at 5:23 PM, Manik Surtani <span dir="ltr">&lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div style="word-wrap: break-word;">Hi Israel<div><br></div><div>Any updates on ISPN-200? &nbsp;How are you getting on?</div><div><br></div><div>Cheers</div><div>Manik</div><div><br><div><div class="im"><div>On 15 Sep 2010, at 12:56, Israel Lacerra wrote:</div>

<br></div><div><div></div><div class="h5"><blockquote type="cite">Thanks Manik!! I just did not understand the last item..<br><br>&gt; - on an implementation level, the GetHItsCommand (or something like 
that) could return with a single hit, or N hits, with a flag of whether 
more hits are available or not.<br><br><br>Israel<br><br><div class="gmail_quote">On Wed, Sep 15, 2010 at 7:16 AM, Manik Surtani <span dir="ltr">&lt;<a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a>&gt;</span> wrote:<br>



<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div style="word-wrap: break-word;">How about something like:<div><br></div><div>- Broadcast the query</div>



<div>- Every node creates the QueryHits inst, runs the query and collects results. &nbsp;Starts streaming the results back immediately.</div><div>- The lazy iterator returns to the user immediately, and maintains an internal cache of results coming in from N remote QueryHits instances</div>



<div>- iterator.next() blocks until this cache has available entries to return.</div><div>- on an implementation level, the GetHItsCommand (or something like that) could return with a single hit, or N hits, with a flag of whether more hits are available or not.</div>



<div><br></div><div>Does that help?</div><div><br></div><font color="#888888"><div>Manik</div></font><div><div></div><div><div><br></div><div><br><div><div>On 14 Sep 2010, at 20:46, Israel Lacerra wrote:</div>
<br>
<blockquote type="cite">Hi guys,<br><br>I'm still thinking about it, but I don't have a really good idea about the lazy iterator yet. The only way (that I see) I could make it more lazily is:<br><br>- Broadcast the query.<br>



- Every node creates a QueryHits instance with the query and keep it in a simple little cache (array, hash, etc)<br>

- A "state" of the query is created and every lazyIterator.next() must send a command to a node and get the next hit (the next key).<br>- After a certain time, the instances of queryHits "dies".<br><br>





It seems to me that this is not too efficient. But I don't have any other ideas.<br><br>Do you have any suggestions about it?<br><br>thanks!<br>Israel<br><br>AnyoneOn Tue, Aug 31, 2010 at 9:14 AM, Israel Lacerra <span dir="ltr">&lt;<a href="mailto:israeldl@gmail.com" target="_blank">israeldl@gmail.com</a>&gt;</span> wrote:<br>





<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Navin,<br><br>I'm trying to do ISPN-200 (<a href="https://jira.jboss.org/browse/ISPN-200" target="_blank">https://jira.jboss.org/browse/ISPN-200</a>) and I don't know how to implement a good lazy iterator in a "distributed way".<br>






<br>(Sorry... my english is not soo good. If you don't understand again, please just ask again!&nbsp; :)<br><font color="#888888"><br><br>Israel</font><div><div></div><div><br><br><div class="gmail_quote">On Tue, Aug 31, 2010 at 6:27 AM, Navin Surtani <span dir="ltr">&lt;<a href="mailto:nsurtani@redhat.com" target="_blank">nsurtani@redhat.com</a>&gt;</span> wrote:<br>






<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Israel,<br>
<br>
Just a quick question to your issue. What do you mean by you do not have<br>
the LazyIterator? I suppose I'm not really understanding what your issue<br>
is. Is it just that you don't want the lazy version or you don't know<br>
how to use it? :S<br>
<div><br>
<br>
On 25/08/10 14:39, Israel Lacerra wrote:<br>
&gt; Ok, Manik!<br>
&gt;<br>
&gt; I've already have a code working, but not too "lazy" (and without the<br>
&gt; "sort" part). I get the keys on all nodes, and then I use them. So I<br>
&gt; have a EagerIterator, but not the LazyIterator. :/<br>
&gt;<br>
&gt; I'll think about it...<br>
&gt;<br>
&gt; thanks<br>
&gt;<br>
&gt; On Wed, Aug 25, 2010 at 10:23 AM, Manik Surtani &lt;<a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a><br>
</div><div>&gt; &lt;mailto:<a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; On 24 Aug 2010, at 17:20, Israel Lacerra wrote:<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp;&gt; Manik,<br>
&gt; &nbsp; &nbsp; &nbsp;&gt;<br>
&gt; &nbsp; &nbsp; &nbsp;&gt; What you mean by:<br>
&gt; &nbsp; &nbsp; &nbsp;&gt; " &nbsp; * The calling node returns a CacheQuery impl that lazily fetches<br>
&gt; &nbsp; &nbsp; &nbsp;&gt; and collates results from the cluster." (JIRA)<br>
&gt; &nbsp; &nbsp; &nbsp;&gt;<br>
&gt; &nbsp; &nbsp; &nbsp;&gt; Is enough if each node returns a list of keys and then, we lazily<br>
&gt; &nbsp; &nbsp; get the values using the keys? Or the process has to be more lazy yet?<br>
&gt;<br>
&gt; &nbsp; &nbsp; I think it can be "more lazy" as you said. &nbsp;:)<br>
&gt; &nbsp; &nbsp; --<br>
&gt; &nbsp; &nbsp; Manik Surtani<br>
</div>&gt; &nbsp; &nbsp; <a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a> &lt;mailto:<a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a>&gt;<br>
<div>&gt; &nbsp; &nbsp; Lead, Infinispan<br>
&gt; &nbsp; &nbsp; Lead, JBoss Cache<br>
&gt; &nbsp; &nbsp; <a href="http://www.infinispan.org/" target="_blank">http://www.infinispan.org</a><br>
&gt; &nbsp; &nbsp; <a href="http://www.jbosscache.org/" target="_blank">http://www.jbosscache.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; _______________________________________________<br>
&gt; &nbsp; &nbsp; infinispan-dev mailing list<br>
</div>&gt; &nbsp; &nbsp; <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a>&gt;<br>






<div>&gt; &nbsp; &nbsp; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; infinispan-dev mailing list<br>
&gt; <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
<br>
<br>
</div><font color="#888888">--<br>
Navin Surtani<br>
Intern Infinispan<br>
</font><div><div></div><div>_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>
_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></blockquote>



</div><br><div>
<span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="word-wrap: break-word;">



<div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a></div><div>Lead, Infinispan</div><div>Lead, JBoss Cache</div><div><a href="http://www.infinispan.org/" target="_blank">http://www.infinispan.org</a></div>



<div><a href="http://www.jbosscache.org/" target="_blank">http://www.jbosscache.org</a></div><div><br></div></div></span><br></span><br>
</div>
<br></div></div></div></div><br>_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br></blockquote></div><br>
_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></blockquote>

</div></div></div><br><div>
<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; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; font-size: medium;"><div>

<div><div></div><div class="h5"><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a></div></div></div><div><a href="http://twitter.com/maniksurtani" target="_blank">twitter.com/maniksurtani</a></div>

<div><br></div><div>Lead, Infinispan</div><div><a href="http://www.infinispan.org/" target="_blank">http://www.infinispan.org</a></div><div><br></div></div></span><br>
</div>
<br></div></div></blockquote></div><br>
</blockquote></div><br><div>
<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></body></html>