On Mon, Sep 03, 2007 at 07:18:06PM +1000, Bron Gondwana wrote: > > On Mon, 3 Sep 2007 10:07:36 +0100 (BST), "David Carter" <[EMAIL PROTECTED]> > said: > > On Mon, 3 Sep 2007, Bron Gondwana wrote: > > > Reading the sync_client protocol, I notice that do_mailbox_single > > > doesn't actually send the uidvalidity as part of the local mailbox > > > status from the server, so it can't even tell there's a difference. > > > > Oops, yes. I think that this can only happen if the UIDvalidity changes > > while the UniqueID remains the same, which means reconstruct on a mailbox > > which is missing cyrus.header. > > My reading was a reconstruct without cyrus.index. If you reconstruct > without a header it will get a new UniqueID, but if you reconstruct without > an index it doesn't know the UidValidity, so it sets it time(). > > But yeah, in a site as big as us, anything that can go wrong will at some > point!
Honestly, now that I know what's causing it (an oversight in the sync protocol rather than some underlying bug) I'm not concerned any more. It's easily detected and checkreplication with the -x flag (blat the replica mailbox and sync_client -u if there are errors) will fix it. Bron.
