Cyrus 2.4.17 CRC failure on sync -> messages being duplicated to wrong mailbox and direction?

Walt Stone ws+ml.info-cyrus at iai.uni-bonn.de
Fri Apr 12 11:06:21 EDT 2013


Hello,

with our two new replicating Cyrus IMAP 2.4.17 server we are stuck with
the following recurring problem:

On master server (running sync_client -r) every now and then (possibly
once a day) all messages of one INBOX are copied to another users(!) INBOX.

Related log messages seem to be:

master:
sync_client[2914]: CRC failure on sync for user.u1, trying full update
sync_client[2914]: SYNCERROR: only exists on master user.u1 2035882 (cbfe1ebf619930f8bac28a51958e360fddbbb404)    
[ ... > 1000 messages of user.u1 ... ]

slave:
syncserver[4757]: Deleted mailbox user.u0
syncserver[4757]: Rename: user.u1 -> user.u0
syncserver[4757]: Deleted mailbox user.u1
( syncserver[4757]: user.u1: same message appears twice 2039445 2039446 )

Afterwards even on master(!) the mailbox user.u0 has a copy of each
message originally being only in mailbox user.u1

(before that we thought about cyrus replication as one way in the
 direction master->slave but learned that there is some kind of
 intended "COPYBACK" and maybe other mechanismus to get messages
 being transferred back from slave to master)

This message duplication might happen in this direction (user.u1 -> u0)
_or_ the other way around (meaning u1/u0 being exchanged).
Either way u0 and u1 are always the same two user out of 2000.

It might be unfortunate coincidence but of course this never happend
at any of our tests with sync_client -u or ... -m but it happens now
with our rolling replication being active.

At prior occurances and duplication happened in the other direction
as shown in the log messages above (meaning from user.u0 -> user.u1)
we also found logs like this:

SYNCNOTICE: bumping modseq user.u1 2037474

Neither on master nor on slave
reconstruct -n user.uX  or  reconstruct -nG user.uX
show anything

As first action we
- stopped rolling replication
- telnet slave 143
- . delete user.u0
  . delete user.u1
- sync_client -v -l -u u0
- sync_client v -l -u u1
- enabled rolling replication
(- cyr_synclog -u for all user)

But to no avail.

Helpful suggestions are very much appreciated as this is very
unpleasant due to the nature of email privacy.

If useful, here is our replication related config except for ips/user/passwd
sync_log: 1
sync_machineid: 1
sync_repeat_interval:   4

and after the first occurance we also set "provide_uuid=1" for lmtp, imap

# sync: slave
sync_machineid: 1

(wondering if sync_machineid being set to 1 in both configurations is
 really correct or necessary on the slave but this option seem to be
 mostly used in that way according to a famous search engine)

Thank you very much!


More information about the Info-cyrus mailing list