[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: CONDSTORE plus UID EXPUNGE undefined? Adrien W. de Croy Wed Mar 28 12:00:06 2012

------ Original Message ------
From: "Bron Gondwana" <[EMAIL PROTECTED]>
To: "Arnt Gulbrandsen" <[EMAIL PROTECTED]>
Sent: 29/03/2012 1:54:43 a.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
On Wed, Mar 28, 2012 at 02:21:54PM +0200, Arnt Gulbrandsen wrote:

On 03/27/2012 02:44 AM, Adrien W. de Croy wrote:
This I guess belongs in the MOVE I-D in terms of reference to CONDSTORE.

Are there any plans to progress that draft?  It's quite worthwhile IMO.

There have been many. I uploaded one now, with text from Witold, Alexey
and myself.


great, thanks!

 Servers may want to avoid implementing this because atomicity
 requires holding one or more locks on several mailboxes at the same
 time.  (This sounds just wrong. COPY requires the same.)

No, COPY doesn't.  You can release the lock on the first mailbox
after taking all the data required, then obtain the lock on the
second mailbox.  At this point, it doesn't matter if someone else
does something to your source messages.

With MOVE, you need to hold the lock on the first mailbox until
after the APPEND has succeeded, then come back and EXPUNGE them.

it can be optimised for MOVE. Since you don't need to do a deep file copy, but a file system move, as long as the dest folder is in the same volume as the source, it's usually a very quick operation - much quicker than copy. Worst case it takes the same time if different volumes. So the 2 locks are held a short time only.