On Mon, 24 Sep 2007, Bron Gondwana wrote:

Picture if you will...

sync_client finds a message missing on the replica during a mailboxes event and causes a sync_combine_commit to be called on the replica to absorb the new messages.

* cyrus.index is re-written with new cache_offset values for each message
* cyrus.cache is re-written with just the records in cyrus.index
* cyrus.expunge is ***ERROR, BOGUS CACHE FILE OFFSETS***

The common cause of sync_combine_commit() will be unexpunge on the master.

I imagine that a single GUID appearing in cyrus.index and cyrus.expunge is bad news. sync_server needs to know about the expunge index. It did in my original code base, but replication got merged before delayed expunge.

More later. In theory I'm on holiday this week.

--
David Carter                             Email: [EMAIL PROTECTED]
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.

Reply via email to