Yes, using <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">SerialMergeScheduler helped. Thanks! Restriction on merge scheduler should be set in IndexWriterSetting enum, similarly to i.e. max_buffered_delete_terms or max_buffered_docs properties?</span><br>
<br><div class="gmail_quote">2009/8/14 Emmanuel Bernard <span dir="ltr">&lt;<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word">OK so let&#39;s try something.<div>Lukasz, can you try and use the SerialMergeScheduler policy on the index writer and see what is going on.</div><div>It will make indexing slower for Infinispan but it seems we can&#39;t do much better in the short time.</div>
<div><br></div><div>If that works then we will put some restriction in place when reading the config. The index writer for this given index will be forced to use the serial strategy,</div><div><div></div><div class="h5"><div>
<br><div><div>On 14 août 09, at 06:23, Łukasz Moreń wrote:</div><br><blockquote type="cite">Expensive is replication to all Infinispan nodes. IndexWriter creates segment files, merge it to one compound segment, delete already useless descriptor files - many files that must be replicated. Some of them even don&#39;t need to be replicated because they are inserted into directory at the begin of index commit process and removed at the end. Batching helps with performance here. <div>
 Yes, I think IndexWriter works like you wrote.<br><br><div class="gmail_quote">2009/8/14 Manik Surtani <span dir="ltr">&lt;<a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 <div style="word-wrap:break-word"><br><div><div><div>On 14 Aug 2009, at 10:17, Łukasz Moreń wrote:</div><br><blockquote type="cite"><div><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse">Yes, but i.e. <span style="background-repeat:initial;background-color:yellow">FSDirectory</span> flushes changes if any file descriptor is created/updated - can be many in one <span style="background-repeat:initial;background-color:yellow">IndexWriter</span> life.</span></div>
 <span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse"><div>In <span style="background-repeat:initial;background-color:yellow">infinispan</span> case implementation, I want to commit changes only when <span style="background-repeat:initial;background-color:yellow">IndexWriter</span> is closing - batch all modifications.</div>
 <div>If I switch to transaction per descriptor modification - similarly how it&#39;s done in FSDirectory it works well, however not efficient.</div></span></blockquote><div><br></div></div><div>So what&#39;s expensive here?  Writing to Infinispan, or the indexing itself?  Correct me if I am wrong, I assume that the IndexWriter creates multiple threads, and each thread does: {</div>
 <div><span style="white-space:pre">        </span>// some indexing work</div><div><span style="white-space:pre">        </span>// write these indexes to Infinispan</div><div>}</div><div><br></div><div>Is that correct?</div><div><div></div>
 <div><br><blockquote type="cite"><br><div class="gmail_quote">2009/8/14 Sanne Grinovero <span dir="ltr">&lt;<a href="mailto:sanne.grinovero@gmail.com" target="_blank">sanne.grinovero@gmail.com</a>&gt;</span><br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am not an expert on this part of Lucene, but it looks like to me<br> that the IndexWriter is the &quot;driver/coordinator&quot;, and it&#39;s decisions<br> are affected by a pluggable MergeScheduler; they do stuff on the<br>
 internal buffers of the IndexWriter (dequeue the pending segments to<br> be written to the index), but it shouldn&#39;t matter what they exactly do<br> as the internal status of these classes are unaffected by our<br> transactions.<br>
 They take some decision about writing segments to the Directory and<br> committing changes (&quot;sync()&quot;) : as you implement this Directory you<br> should only have to take care of this class, I don&#39;t think the<br>
 MergeScheduler(s) are relevant: it just happens that the thread going<br> to apply changes to the index might be a different one than the one<br> pushing changes to the IndexWriter.<br> <br> In the Directory implementation you should use transactions to push<br>
 state changes to the &quot;underlying storage&quot;: as FSDirectory is playing<br> with file descriptors and flushes, you do the same with Infinispan<br> transactions.<br> <br> 2009/8/14 Łukasz Moreń &lt;<a href="mailto:lukasz.moren@gmail.com" target="_blank">lukasz.moren@gmail.com</a>&gt;:<br>
 <div><div></div><div>&gt; Yes, right, MergeSchedulers.<br> &gt;<br> &gt; 2009/8/14 Sanne Grinovero &lt;<a href="mailto:sanne.grinovero@gmail.com" target="_blank">sanne.grinovero@gmail.com</a>&gt;<br> &gt;&gt;<br> &gt;&gt; what are these &quot;other&quot; threads? Are you speaking about the<br>
 &gt;&gt; MergeSchedulers?<br> &gt;&gt;<br> &gt;&gt; 2009/8/13 Łukasz Moreń &lt;<a href="mailto:lukasz.moren@gmail.com" target="_blank">lukasz.moren@gmail.com</a>&gt;:<br> &gt;&gt; &gt; IndexWriter processes index update and delegates some job to other<br>
 &gt;&gt; &gt; threads and waits when they finish. These &quot;other&quot; threads works on<br> &gt;&gt; &gt; data modified<br> &gt;&gt; &gt; in IndexWriter transaction. So I think if I use transaction per<br> &gt;&gt; &gt; thread, &quot;others&quot; would not see data modified by IndexWriter until<br>
 &gt;&gt; &gt; commit.<br> &gt;&gt; &gt;<br> &gt;&gt; &gt; 2009/8/13, Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;:<br> &gt;&gt; &gt;&gt; Ah I thought it was using multiple threads because of your mass<br>
 &gt;&gt; &gt;&gt; indexing. I did not know some threads were span specifically for the<br> &gt;&gt; &gt;&gt; Infinispan directory.<br> &gt;&gt; &gt;&gt;<br> &gt;&gt; &gt;&gt; On 13 août 09, at 17:34, Sanne Grinovero wrote:<br>
 &gt;&gt; &gt;&gt;<br> &gt;&gt; &gt;&gt;&gt; Hi Łukasz,<br> &gt;&gt; &gt;&gt;&gt; what is your usage of these threads? did you consider using one<br> &gt;&gt; &gt;&gt;&gt; transaction per thread?<br> &gt;&gt; &gt;&gt;&gt;<br>
 &gt;&gt; &gt;&gt;&gt; Sanne<br> &gt;&gt; &gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt; 2009/8/13 Łukasz Moreń &lt;<a href="mailto:lukasz.moren@gmail.com" target="_blank">lukasz.moren@gmail.com</a>&gt;:<br> &gt;&gt; &gt;&gt;&gt;&gt; Newly created threads were not associated with any transaction, so I<br>
 &gt;&gt; &gt;&gt;&gt;&gt; suppose it was a problem. Sharing transaction between threads seems<br> &gt;&gt; &gt;&gt;&gt;&gt; to<br> &gt;&gt; &gt;&gt;&gt;&gt; be a good solution.<br> &gt;&gt; &gt;&gt;&gt;&gt; Thanks for help!<br>
 &gt;&gt; &gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt; 2009/8/13, Jason T. Greene &lt;<a href="mailto:jason.greene@redhat.com" target="_blank">jason.greene@redhat.com</a>&gt;:<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; Correct. Also there could be read races as well, so if you are<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt; going to<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; share a tx between threads, i would use some shared lock to<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; gaurantee<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; that only one thread can use it at a time. BTW this means you have<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt; to<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; properly suspend/resume the TX via the TM API as well.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; Emmanuel Bernard wrote:<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Modifying a transaction means applying muations (like SQL INSERT /<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; UPDATE / DELETE) to the transactional resource?<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; On 13 août 09, at 15:07, Jason T. Greene wrote:<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; When using transactions, the context is bound to the<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; transaction, and<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; you can move a transaction between threads. However, you should<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; only<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; be modifying a transaction with one thread at a time.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Emmanuel Bernard wrote:<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Could it be that you are not using the same transaction between<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; different threads (ie you physically start different ones or<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; different  &quot;Infinispan contexts&quot;)?<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Infini guys, do you support transactional operation spanning<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; several<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; concurrent threads?<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 13 août 09, at 14:04, Łukasz Moreń wrote:<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;ve tried with JBoss AS transaction manager and<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; JBossStandaloneTM.<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; The result is this same in all cases - error during merge.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2009/8/12, Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;:<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Ok I understand better now.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Do your tests in JBoss AS with it&#39;s decent transaction manager<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; (infinispan should have a config for it)<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; For unit testing, force the indexing process in hibernate to<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; use a<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; single thread (I ghnk it&#39;s possible ask Sanne of you don&#39;t<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; know how).<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Exposing some configuration to infinispan makes sense. can you<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; start a<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; thread explainig what is configurable and which one you think<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; we<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; should expose to hsearch users. Ideally I would like to offer<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; one or<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; two defaut config scenarios and allow to fallback to a custom<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; config.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Emmanuel<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 12 août 2009, at 11:58, Łukasz Moreń<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:lukasz.moren@gmail.com" target="_blank">lukasz.moren@gmail.com</a>&gt;<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Sorry, but my wifi does not work well today. I will try to<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; explain<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; it more clear.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I&#39;m using DummyTransactionManager available for Infinispan.<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; It associates transaction with the calling thread.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Steps to update index:<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 1. index writer acquires lock - begin of transaction<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2. if it is necessary, index writer delegates new threads to<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; do<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; merge work.<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Those merge threads do not see changes made so far from<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; begin of<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; transaction,<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and are looking for segments which are not yet in index.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Changes will be visible when AD.3 is completed.<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; For tests i tried to commit transaction when merge starts<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and then<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; everything worked well. But then i need to start it again.<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 3. index writer releases lock - transaction is commited, all<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; changes<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; made in this transaction are visible for other threads.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Maybe using some other transaction manager could help?<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; What about Infinispan cache configuration? Some configuration<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; mechanism should be exposed to the user,<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; or we can hardcoded one in InfinispanDirectoryProvider is<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; enough?<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2009/8/12 Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; why?<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Emmanuel Bernard<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Pending<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; you there?<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Emmanuel Bernard<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Pending<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Ok please describe in details what is going on. From what<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; you are<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; describing the tx cannot see all segments which looks like an<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; infinispan bug to me.<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Pending<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; As a back up you can try wo transaction and see if that works<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Emmanuel Bernard<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Pending<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; technically the lucene index should cope with that<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Emmanuel Bernard<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 11:16<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; but I like this approach less<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Let&#39;s try and chat by email IF I&#39;m not online, I need to run<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; on some<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; errands today.<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; infinispan-dev mailing list<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; --<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; Jason T. Greene<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; JBoss, a division of Red Hat<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; --<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; Jason T. Greene<br> &gt;&gt; &gt;&gt;&gt;&gt;&gt; JBoss, a division of Red Hat<br>
 &gt;&gt; &gt;&gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt;&gt; _______________________________________________<br> &gt;&gt; &gt;&gt;&gt;&gt; infinispan-dev mailing list<br> &gt;&gt; &gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
 &gt;&gt; &gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br> &gt;&gt; &gt;&gt;&gt;<br> &gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
 &gt;&gt; &gt;&gt;&gt; hibernate-dev mailing list<br> &gt;&gt; &gt;&gt;&gt; <a href="mailto:hibernate-dev@lists.jboss.org" target="_blank">hibernate-dev@lists.jboss.org</a><br> &gt;&gt; &gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/hibernate-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/hibernate-dev</a><br>
 &gt;&gt; &gt;&gt;<br> &gt;&gt; &gt;&gt;<br> &gt;&gt; &gt;<br> &gt;<br> &gt;<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></div></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-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div style="word-wrap:break-word">
 <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><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></div></span><br></div></span><br> </div><br></div></blockquote></div><br></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></blockquote>
</div><br></div></div></div></div></blockquote></div><br>