cyrus.expunge/cyrus.cache mistmatch on replica

David Carter dpc22 at cam.ac.uk
Tue Sep 25 05:58:07 EDT 2007


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: David.Carter at ucs.cam.ac.uk
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.


More information about the Cyrus-devel mailing list