Large Mailbox Append Fix

Bron Gondwana brong at fastmail.fm
Sat Sep 22 05:48:33 EDT 2007


On Sat, Sep 22, 2007 at 12:55:22PM +1000, Bron Gondwana wrote:
> On Fri, Sep 21, 2007 at 06:35:11PM +0100, David Carter wrote:
> > On Fri, 21 Sep 2007, Ken Murchison wrote:
> >
> >> What happens if the total number of messages to upload is a multiple of 
> >> max_count?  Our last batch will be handled inside of the for() loop, and 
> >> then we'll call index_list_work() with an empty list, correct?
> >
> > Yes. The final index_list_work() would be a NOOP in that case. Could always 
> > add the (index_list->count == 0) test to upload_messages_list() and 
> > upload_messages_from() as well.
> 
> We still need to sync the final last_uid, which may be greater than
> the UID of the maximum message.
> 
> (though I think there's a separate check later that does that if they
> still don't match... I really should test-case this!)

The attached totally untested patch changes sync_server's handling of
the case of "UPLOAD %d %d\r\n" as if it was UIDLAST and removes the
index_list->count == 0 test.  It's probably not the best way in
retrospect, but it's sitting around already written!  I'm thinking maybe
just check for count == 0 and run cmd_uidlast on the sync_client end
instead.

Bron.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cyrus-largemailboxappend-2.3.9.diff
Type: text/x-diff
Size: 13168 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20070922/0d0c0c96/attachment-0001.bin 


More information about the Cyrus-devel mailing list