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