sync_server RESERVE command

2007-09-25 Thread David Carter
Two separate bugs fixes, against current 2.3 CVS. The missing i++ means that we would have failed to RESERVE some messages where a given GUID appears multiple times in a mailbox. Not a huge deal. The missing (i count) was potentially serious: we fall off the end of the ids array where

Re: cyrus.expunge/cyrus.cache mistmatch on replica

2007-09-25 Thread David Carter
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

Re: Large Mailbox Append Fix

2007-09-25 Thread Ken Murchison
Bron Gondwana wrote: On Mon, 24 Sep 2007 23:39:52 -0400, Ken Murchison [EMAIL PROTECTED] said: Yes, my for() loop test was incorrect, and SHOULD BE: (index_list-count max_count) (msgno = mailbox-exists) So, for mailbox-exists=1000, and max_count=1000, when we exit the

Re: Large Mailbox Append Fix

2007-09-25 Thread David Carter
On Mon, 24 Sep 2007, Ken Murchison wrote: Attached is my rewrite against CVS. I removed duplicate code that resulted from having one for() loop with a special case if() inside (It not uses a for() loop nested inside a do() loop). The patch doesn't look simpler because my version of diff

Re: cyrus.expunge/cyrus.cache mistmatch on replica

2007-09-25 Thread David Carter
On Tue, 25 Sep 2007, David Carter wrote: 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. Single _UID_ appearing in

Re: cyrus.expunge/cyrus.cache mistmatch on replica

2007-09-25 Thread Bron Gondwana
On Tue, 25 Sep 2007 12:15:04 +0100 (BST), David Carter [EMAIL PROTECTED] said: On Tue, 25 Sep 2007, David Carter wrote: 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

Re: Large Mailbox Append Fix

2007-09-25 Thread Bron Gondwana
On Tue, 25 Sep 2007 07:11:36 -0400, Ken Murchison [EMAIL PROTECTED] said: Bron Gondwana wrote: I'm afraid I still don't see how your code addresses the case where there turn out to be no more messages with higher UIDs which need uploading even though we've hit exactly max_count messages.