MBOX-Line: From tony at att.com  Fri Jun 11 18:41:56 2010
To: imap-protocol@u.washington.edu
From: Tony Hansen <tony@att.com>
Date: Fri Jun  8 12:34:44 2018
Subject: [Imap-protocol] IMAP MOVE extension
In-Reply-To: <4C129338.9030706@aol.com>
References: <1768814180.483.1276267238967.JavaMail.root@dogfood.zimbra.com>	<1276267479.22134.102.camel@kurkku.sapo.corppt.com>	<alpine.OSX.2.00.1006110910440.662@hsinghsing.panda.com>	<1276274718.22134.138.camel@kurkku.sapo.corppt.com>	<alpine.OSX.2.00.1006111006350.662@hsinghsing.panda.com>
	<4C129338.9030706@aol.com>
Message-ID: <4C12E5E4.6000609@att.com>

No, I don't suppose that COPY+STORE+EXPUNGE can be pipelined together. 
However, STORE and EXPUNGE can certainly be pipelined with the 
subsequent command:

COPY
wait for response
pipelined STORE + EXPUNGE + next COPY
wait for responses
pipelined STORE + EXPUNGE + next command
wait for responses

     Tony Hansen
     tony@att.com

On 6/11/2010 3:49 PM, John Snow wrote:
> I'm sure I must be missing something, but how is pipelining a
> COPY+STORE+EXPUNGE a valid non-waiting command sequence?
>
> If the server has a problem and fails the COPY then successfully
> processes the STORE and EXPUNGE commands, don't you end up
> in a state where the messages are gone?
>
>
>
>>
>> Pipelining eliminates this, except perhaps for a protocol link over a
>> 300bps modem where the extra chattiness might matter.
>>
>>
>>> It would behave essentially the same as COPY+STORE+EXPUNGE, except the
>>> STORE part could be optimized away:
>>> 1. The COPY part either atomically succeeds or fails.
>>> 2. Now the messages are visible in both mailboxes
>>> 3. Server starts expunging the moved messages.
>>
>> Then you don't have a MOVE command.  You have a protocol macro that 
>> looks
>> like a command but actually is three separate commands.  And the client
>> has to be aware of the split in the macro since failures can happen at
>> each stage.
>>
>> The complexities of this make the late unlamented VIEW proposal look
>> simple by comparison.
>>
>>> After the copying is successful, the only problem that can happen is if
>>> expunging messages somehow fails, or if the server crashes. The same
>>> problems exist with COPY already, there are short time windows when if
>>> Dovecot crashes it has succeeded in only partially copying messages.
>
>
> _______________________________________________
> Imap-protocol mailing list
> Imap-protocol@u.washington.edu
> http://mailman2.u.washington.edu/mailman/listinfo/imap-protocol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20100611/d0467304/attachment.html>
