<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
 <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
 </head>
 <body>
  <p style="margin: 0;">
   <span>
    For the record, I&#39;m referring to a setup which is described in a blog posting which can be found at&#160;
    <a href="https://www.axivo.com/community/threads/lightning-fast-synch-with-csync2-and-lsyncd.121/">https://www.axivo.com/community/threads/lightning-fast-synch-with-csync2-and-lsyncd.121/</a>
    .
   </span>
  </p>
  <p style="margin: 0;">&#160;</p>
  <p style="margin: 0;">
   <span>&#62; The thing is: it seems to work well, but it actually isn&#39;t.</span>
   <br/>
   <span>&#62; Lsyncd is good software, doing what I did with csync2id.pl (see</span>
   <br/>
   <span>&#62; contrib). But if you are lagging, your inotify queue will be</span>
   <br/>
   <span>&#62; overun.</span>
  </p>
  <p style="margin: 0;">
   <span>&#160;</span>
  </p>
  <p style="margin: 0;">
   As far as I have understood the setup which I have in place, the actual&#160;
   <span style="font-size: 1.1em;">events generated by inotify should not be of any great significance.&#160;</span>
   <span style="font-size: 1.1em;">That is; Lsyncd will batch together events for every second or so</span>
   <span style="font-size: 1.1em;">and invoke csync2 -x on every &#34;batch bundle&#34;. In other words, csync2&#160;</span>
   <span style="font-size: 1.1em;">does not get invoked on every event - and 1000 events would not be&#160;</span>
   <span style="font-size: 1.1em;">any different from 1 event. The result will just be that csync2 -x&#160;</span>
   <span style="font-size: 1.1em;">gets invoked and scans the configured directories for changes.</span>
  </p>
  <p style="margin: 0;">&#160;</p>
  <p style="margin: 0;">
   This, according to the blog post, is just as efficient as invoking&#160;
   <span style="font-size: 1.1em;">csync2 on individual files.</span>
  </p>
  <p style="margin: 0;">&#160;</p>
  <p style="margin: 0;">
   <span>So; this makes me wonder even more why a manual run of csync2 -x would&#160;</span>
   <span style="font-size: 1.1em;">result in dirty files being found when an &#34;automatic&#34; run og csync2 -x&#160;</span>
   <span style="font-size: 1.1em;">does not.</span>
  </p>
  <p style="margin: 0;">
   <span></span>
   <span style="font-size: 1.1em;"></span>
  </p>
  <p>
   <span>&#160;</span>
  </p>
  <div style="margin: 5px 0px 5px 0px; font-family: monospace;">
   <br/>
   On 04 February 2013 at 15:36 Art -kwaak- van Breemen &#60;ard+csync2@telegraafnet.nl&#62; wrote:
   <br/>
   <br/>
   &#62; On Mon, Feb 04, 2013 at 12:21:29PM +0100, Stian Brattland wrote:
   <br/>
   &#62; &#62; I&#39;m running with a setup where Csync2 gets triggered by Lsyncd upon file
   <br/>
   &#62; &#62; changes. This works very well,
   <br/>
   &#62; &#62; and files replicate fine to other machines.
   <br/>
   &#62;
   <br/>
   &#62; The thing is: it seems to work well, but it actually isn&#39;t.
   <br/>
   &#62; Lsyncd is good software, doing what I did with csync2id.pl (see
   <br/>
   &#62; contrib). But if you are lagging, your inotify queue will be
   <br/>
   &#62; overun.
   <br/>
   &#62; I fixed it by queueing inotify items as hints with the -h option.
   <br/>
   &#62; In a seperate thread I was doing csync2 -c (that without
   <br/>
   &#62; arguments empties the hint queue), and after that csync2 -u the
   <br/>
   &#62; dirty list.
   <br/>
   &#62; It worked pretty good in 10M files with 10 changes per second, on
   <br/>
   &#62; pretty old hardware.
   <br/>
   &#62; (I now use mogilefs for that).
   <br/>
   &#62;
   <br/>
   &#62; In other cases (not related to inotify queue overflow) it usually
   <br/>
   &#62; is related to nodes not initialized correctly: nodes will have a
   <br/>
   &#62; different view on what other nodes already have.
   <br/>
   &#62; Try csync2 -T &#60;thisnode&#62; &#60;othernode&#62; -UI to create an update
   <br/>
   &#62; list based on database contents only.
   <br/>
   &#62; _______________________________________________
   <br/>
   &#62; Csync2 mailing list
   <br/>
   &#62; Csync2@lists.linbit.com
   <br/>
   &#62; http://lists.linbit.com/mailman/listinfo/csync2
  </div>
 </body>
</html>