cyrus replication validation
Wesley Craig
wes at umich.edu
Mon Jul 16 09:56:38 EDT 2007
If I understand this patch correctly, it doesn't solve the larger
problem that I'm interested in: is the data on my replica the same as
the data on my primary, or more to the point, are the two data sets
converging? This patch *would* allow me to more or less validate
that the cyrus.* meta files are more or less the same on both, and
takes care of the sync_server staling staging issue -- whether the
cyrus.* meta files match the other files. But I'm really interested
in something that can run out of band from csync, imap, etc, that
examines files on the primary and replica to know what the variance
is. I think make_md5 is pretty ideal for what I'm after, as a source
of data. We're working on scripts that compare the data files.
:wes
On 06 Apr 2007, at 22:31, Rob Mueller wrote:
>> The provided Cyrus tool "make_md5" is for validating replication. It
>> would, for instance, have found the recently discussed bug in
>> sync_server that caused random files to be overwritten in the
>> event that sync_server reused a stale staging file. It would
>> probably be cool if there were documentation somewhere that
>> advised people on how to run it and how to use it to validate
>> replication.
>
> We have a patch that helps with this as well see "MD5 UUIDs" here:
>
> http://cyrus.brong.fastmail.fm/
>
> Basically it does two things:
> 1. You can make the UUIDs of all messages the first 11 bytes of the
> MD5 of the message
> 2. You can fetch a computed MD5 of any message on disk via IMAP
>
> Using the second, you can do complete validation via IMAP, just
> iterate through all folders and all messages, get the computed MD5
> and compare on both sides.
>
> The UUID bit is just designed to help replication when messages are
> moved between folders, rather than having to resend the entire
> message on a move, it can just link them from one folder to the
> other at the replication end.
More information about the Info-cyrus
mailing list