
Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAhKx6011414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:43:20 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAhKu3011413; Thu, 29 Mar 2012 03:43:20 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAhIXp011407 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:43:20 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 551EFF8DD6C; Thu, 29 Mar 2012 10:43:18 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333017797-9886-9885/10/11; Thu, 29 Mar 2012 10:43:17 +0000
Message-Id: <4F743D2C.10504@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 12:45:00 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist> <4F743669.80008@gulbrandsen.priv.no> <em6384cd4d-62c3-4645-a000-a74077096285@boist> <4F743B19.7080001@gulbrandsen.priv.no> <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist>
In-Reply-To: <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On 03/29/2012 12:40 PM, Adrien W. de Croy wrote:
> it's just that looking in my code I have 2 options.
>  
> 1. nest locks in the case of non UID MOVE.
> 2. reply to non-UID MOVE with BAD.
>  
> Since this is still a draft, we could solve that problem right now :)

The draft as it stands only defines UID MOVE, not an MSN-based command,
so you're good.

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAexK0011283 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:40:59 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAexH7011282; Thu, 29 Mar 2012 03:40:59 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAevAB011277 for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:40:58 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018950634@smtp.qbik.com>; Thu, 29 Mar 2012 23:40:56 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "Bron Gondwana" <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Thu, 29 Mar 2012 10:40:56 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <4F743B19.7080001@gulbrandsen.priv.no>
Message-Id: <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2TAewAB011278
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

------ Original Message ------
From: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "Bron Gondwana" <brong@fastmail.fm>;"ietf-imapext@imc.org" 
<ietf-imapext@imc.org>
Sent: 29/03/2012 11:36:09 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>On 03/29/2012 12:28 PM, Adrien W. de Croy wrote:
>
>>
>>it probably means though that only UID MOVE is safe.
>>
>
>
>Depends on the server and on how much time the server maintainer wants
>to spend on move.
>
>
>>
>>do we really need a non-UID MOVE?
>>
>
>
>You can restate that question as "how many clients prefer MSN-based
>commands and offer move in their UI" and my answer is "none that I know of".
>
  
it's just that looking in my code I have 2 options.
  
1. nest locks in the case of non UID MOVE.
2. reply to non-UID MOVE with BAD.
  
Since this is still a draft, we could solve that problem right now :)
  
Adrien

  
>
>
>Arnt
>
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAYT86011110 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:34:29 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAYT7L011109; Thu, 29 Mar 2012 03:34:29 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAYS5e011104 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:34:29 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 83137F8DD6B; Thu, 29 Mar 2012 10:34:27 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333017266-9886-9885/10/10; Thu, 29 Mar 2012 10:34:26 +0000
Message-Id: <4F743B19.7080001@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 12:36:09 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist> <4F743669.80008@gulbrandsen.priv.no> <em6384cd4d-62c3-4645-a000-a74077096285@boist>
In-Reply-To: <em6384cd4d-62c3-4645-a000-a74077096285@boist>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On 03/29/2012 12:28 PM, Adrien W. de Croy wrote:
> it probably means though that only UID MOVE is safe.

Depends on the server and on how much time the server maintainer wants
to spend on move.

> do we really need a non-UID MOVE?

You can restate that question as "how many clients prefer MSN-based
commands and offer move in their UI" and my answer is "none that I know of".

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TASa1F010949 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:28:36 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TASaEH010948; Thu, 29 Mar 2012 03:28:36 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TASZ87010943 for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:28:36 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018950621@smtp.qbik.com>; Thu, 29 Mar 2012 23:28:34 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "Bron Gondwana" <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Thu, 29 Mar 2012 10:28:34 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <4F743669.80008@gulbrandsen.priv.no>
Message-Id: <em6384cd4d-62c3-4645-a000-a74077096285@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2TASa87010944
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

  
it probably means though that only UID MOVE is safe.
  
do we really need a non-UID MOVE?

------ Original Message ------
From: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "Bron Gondwana" <brong@fastmail.fm>;"ietf-imapext@imc.org" 
<ietf-imapext@imc.org>
Sent: 29/03/2012 11:16:09 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>Bron is right, at least for some architectures. But his argument is
>really the same as I've heard umpteen times for move: Carrying out the
>copy/store/expunge sequence without the lock COPY can drop early has too
>many failure modes and handling them requires too much clientside code.
>
>Having a lock gives you the advantages of the lock at the cost of the lock.
>
>Arnt
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAPqsK010906 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:25:52 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAPq20010905; Thu, 29 Mar 2012 03:25:52 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAPp98010900 for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:25:51 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018950617@smtp.qbik.com>; Thu, 29 Mar 2012 23:25:49 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "Bron Gondwana" <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Thu, 29 Mar 2012 10:25:49 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <4F743669.80008@gulbrandsen.priv.no>
Message-Id: <eme507abf4-f978-47c8-bcdf-3422aca12728@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2TAPq98010901
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

﻿  
actually we don't nest locks in our implementation of move for this 
very reason.  
  
but for a DB-based index, move can be as simple as an update query on 
the folder field for a message.
  
Adrien

------ Original Message ------
From: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "Bron Gondwana" <brong@fastmail.fm>;"ietf-imapext@imc.org" 
<ietf-imapext@imc.org>
Sent: 29/03/2012 11:16:09 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>Bron is right, at least for some architectures. But his argument is
>really the same as I've heard umpteen times for move: Carrying out the
>copy/store/expunge sequence without the lock COPY can drop early has too
>many failure modes and handling them requires too much clientside code.
>
>Having a lock gives you the advantages of the lock at the cost of the lock.
>
>Arnt
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAEVI5010592 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:14:31 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAEVoE010591; Thu, 29 Mar 2012 03:14:31 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAETv0010586 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:14:30 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 941BEF8DD69; Thu, 29 Mar 2012 10:14:27 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333016066-9886-9885/10/9; Thu, 29 Mar 2012 10:14:26 +0000
Message-Id: <4F743669.80008@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 12:16:09 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
In-Reply-To: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

Bron is right, at least for some architectures. But his argument is
really the same as I've heard umpteen times for move: Carrying out the
copy/store/expunge sequence without the lock COPY can drop early has too
many failure modes and handling them requires too much clientside code.

Having a lock gives you the advantages of the lock at the cost of the lock.

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SL4Ylt088392 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 14:04:34 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SL4YLl088391; Wed, 28 Mar 2012 14:04:34 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SL4WgP088385 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 14:04:34 -0700 (MST) (envelope-from robm@fastmail.fm)
Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 91F8721275; Wed, 28 Mar 2012 17:04:32 -0400 (EDT)
Received: from betaweb1.nyi.mail.srv.osa ([10.202.2.10]) by compute6.internal (MEProxy); Wed, 28 Mar 2012 17:04:32 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= message-id:from:to:cc:mime-version:content-transfer-encoding :content-type:in-reply-to:references:subject:date; s=mesmtp; bh= YEYTtGMF7dzRTl1uWpzbEwh4gCw=; b=fR+e3jnRdovZWvyvMabIM/cZGG6VJLCC ejQF9iN3cdmrABWr9SnVnVsP+X3K/qa3W0UtnnlvR2S2pPsSBlv4S5C4/wn5B0hS Lu37z0R6dPhcqj0qHbS5F2o8Q0NMyde4fFx/jx7OSnzRuA152eCwjwtsVDQeBSZP uKpUKBbBtl4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:from:to:cc:mime-version :content-transfer-encoding:content-type:in-reply-to:references :subject:date; s=smtpout; bh=YEYTtGMF7dzRTl1uWpzbEwh4gCw=; b=YIk /E47kekeON6CSH2SoqrHQFuSwrJ8o1E5VqQTO2g4xhJFCWcJ6JvdaJ2OdBcjMM8m LkEw3Sb6OvQixp/+L2x3eH2Z/r+IsrqivRfsNsWp/13WiElU0H2X9ZIJfcP92Tiz 5dgAcueADbCTxtBmyFsxZEnUd4OEppJvHqSBseo8=
Received: by betaweb1.nyi.mail.srv.osa (Postfix, from userid 99) id 680EE627BDE; Wed, 28 Mar 2012 17:04:32 -0400 (EDT)
Message-Id: <1332968672.22327.140661055394201.01FEA83D@webmail.messagingengine.com>
X-Sasl-Enc: IDqSRw0wEMdAJmutGw4eHBGKXcbuiaw+jD2DtBtgl28r 1332968672
From: Robert Mueller <robm@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>, Bron Gondwana <brong@fastmail.fm>, Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain
X-Mailer: MessagingEngine.com Webmail Interface
In-Reply-To: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
References: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Date: Thu, 29 Mar 2012 08:04:32 +1100
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

> >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.

Assuming you're using a "1 file = 1 email" model, then most filesystems
that support move, also support hardlinks, so a copy is actually
*cheaper* than a move, because you're just adding an extra link, and
adding links is usually a lot cheaper than unlinking.

In fact unlinks are usually sufficiently poorly optimised in
filesystems, that we explicitly added a "delayed expunge" mode to cyrus,
that allows us to push the unlink actions off into the future (eg
weekends) because they completely dominate the time on large expunges
otherwise.

> So the 2 locks are held a short time only.

It's not that they're short time only, it's that it can cause deadlocks
because for a move to be atomic, you have to have both locks at the same
time, while with copy you can get/drop them sequentially.

Rob



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SI9U52083672 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 11:09:30 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SI9UFO083671; Wed, 28 Mar 2012 11:09:30 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SI9SeB083659 for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 11:09:29 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018949109@smtp.qbik.com>; Thu, 29 Mar 2012 07:09:25 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Bron Gondwana" <brong@fastmail.fm>, "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Wed, 28 Mar 2012 18:09:23 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <20120328125443.GA3913@launde.brong.net>
Message-Id: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2SI9TeB083667
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

------ Original Message ------
From: "Bron Gondwana" <brong@fastmail.fm>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
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.
>>
>>http://tools.ietf.org/html/draft-gulbrandsen-imap-move
>>
>
  
  
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.
  
  
>
>Bron.
>
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCtCda071842 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 05:55:12 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SCtCsF071841; Wed, 28 Mar 2012 05:55:12 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCtB4X071836 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 05:55:12 -0700 (MST) (envelope-from brong@fastmail.fm)
Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 125C62153A for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 08:55:11 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute3.internal (MEProxy); Wed, 28 Mar 2012 08:55:11 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=froSPShmSus5PMWVuMmeE100 FTA=; b=BSysAOB6Bu4TM50HHhsLN/9GAFtpEuL08SoZRcVdWZQwgsYkz1ang6Ys Pn9q0bAmHm/5r9v7cpx1x5FRpPPxmGnNeVJz6xToGPqumXP/SNCaz2VWuH/CZGuf mYDW6F1mUIiODq8FyPcOg00tsAlfsOOKPwkd3ujfBw7LWgaHg7s=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=froSPShmSus5PMWVuMmeE100FTA=; b=IcD66pWKcpWtu+6QiI2zJZznpOI0 nO0K2dHxvKFhSWbK3kiAAWKvHTdL8QPIxgTV1VdVRjNRQCXciYmy5TXQgkgsToLg CJCO1ssFX6I27a6kQj5RvT7MgcFusVHK4bnsCaxP5Ga3Qazd311gjITvu0m56Jtn L17OXsGSMNTownY=
X-Sasl-enc: RASDUmZ8dd/jtY12N/sRQFPaqf322gLcGVMP/AVy/c5k 1332939310
Received: from localhost (CPE-60-229-71-8.lns16.ken.bigpond.net.au [60.229.71.8]) by mail.messagingengine.com (Postfix) with ESMTPSA id 04A408E019B; Wed, 28 Mar 2012 08:55:10 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id 71C497E4122; Wed, 28 Mar 2012 23:54:43 +1100 (EST)
Date: Wed, 28 Mar 2012 23:54:43 +1100
From: Bron Gondwana <brong@fastmail.fm>
To: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
Cc: ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Message-ID: <20120328125443.GA3913@launde.brong.net>
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4F730262.6040707@gulbrandsen.priv.no>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

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.
> 
> http://tools.ietf.org/html/draft-gulbrandsen-imap-move

   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.

Bron.



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCKGri070596 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 05:20:16 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SCKG9K070595; Wed, 28 Mar 2012 05:20:16 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCKEZ3070589 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 05:20:16 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 2C27AF8D919; Wed, 28 Mar 2012 12:20:13 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1332937212-9886-9885/10/6; Wed, 28 Mar 2012 12:20:12 +0000
Message-Id: <4F730262.6040707@gulbrandsen.priv.no>
Date: Wed, 28 Mar 2012 14:21:54 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
In-Reply-To: <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

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.

http://tools.ietf.org/html/draft-gulbrandsen-imap-move

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R2gZ6S004251 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 19:42:35 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R2gZM9004250; Mon, 26 Mar 2012 19:42:35 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R2gY9e004238 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 19:42:35 -0700 (MST) (envelope-from brong@fastmail.fm)
Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 457F721054 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 22:42:34 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute1.internal (MEProxy); Mon, 26 Mar 2012 22:42:34 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=4xBDuNwFPc/IOyk0U/ByXIPQ Giw=; b=lNCLBeE+DThyGYAnUvDa0oGgDBRFDjGhQ+OBP2KhoPHuFBlxVpZpGMkg YRERxJ7ibJFarL/3gsQe63iSvhAP/j+kI83GkhSQ+Y9pKpL7Ps2bEqeJwT5Jccgl w6q7bfXwmSv6G03Jhs785bvijhcpALW5qeUY5O9bpwCKCd16s/4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=4xBDuNwFPc/IOyk0U/ByXIPQGiw=; b=jQj8RykyAkkijnhjdEsOuRFPT2+3 fZ5zD2X9bgJC8ZxoDxR6JdhdaIkOj/9/FSfUVQqhrol2MAVk8oy2gZ3nbIDxXVQ1 12KCBxJQQarqxyPFy3TQBOCbdqmjvD+hCKGjnHBrWcRGrQLGz9prdgeDdNE7ez05 xeJK/7j9QKF1zYg=
X-Sasl-enc: vVrb1zJEIHWP5Ckw0coK+QWc9gXUBFkvax1sDF3B0JZM 1332816153
Received: from localhost (CPE-124-189-182-143.cxzr1.win.bigpond.net.au [124.189.182.143]) by mail.messagingengine.com (Postfix) with ESMTPSA id C7C1048252B; Mon, 26 Mar 2012 22:42:33 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id A423A7E40ED; Tue, 27 Mar 2012 13:42:30 +1100 (EST)
Date: Tue, 27 Mar 2012 13:42:30 +1100
From: Bron Gondwana <brong@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: Re: Re[2]: CONDSTORE plus UID EXPUNGE undefined?
Message-ID: <20120327024230.GD15034@launde.brong.net>
References: <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On Tue, Mar 27, 2012 at 12:44:35AM +0000, Adrien W. de Croy wrote:
> Looks like our issue related to MOVE + CONDSTORE.
> 
> Since MOVE doesn't do an untagged FETCH response advertising \Deleted
> on the source, but instead only sends untagged EXPUNGE responses, it's
> not clear about incrementing HMS.
> 
> The obvious behaviour is to increment HMS.
> 
> 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.

Agree that it's worthwhile.  We're already using it internally for our
web interface talking to the Cyrus backends.

My attitude to HMS is - if anything user-visible changes, the HMS must
be bumped such that a client connection can never see two different
responses with exactly the same HMS.  Idempotency is good.

Bron.



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0iclS001140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:44:38 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0ic9d001139; Mon, 26 Mar 2012 17:44:38 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0ianZ001134 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:44:37 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018944795@smtp.qbik.com>; Tue, 27 Mar 2012 13:44:35 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.1.2 (Build 3397)) with SMTP id <0010082097@sago.qbik.com>; Tue, 27 Mar 2012 13:44:35 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Bron Gondwana" <brong@fastmail.fm>
Subject: Re[2]: CONDSTORE plus UID EXPUNGE undefined?
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Tue, 27 Mar 2012 00:44:35 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <20120327003027.GA13922@launde.brong.net>
Message-Id: <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14195.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2R0ibnZ001135
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

Looks like our issue related to MOVE + CONDSTORE.
  
Since MOVE doesn't do an untagged FETCH response advertising \Deleted 
on the source, but instead only sends untagged EXPUNGE responses, it's 
not clear about incrementing HMS.
  
The obvious behaviour is to increment HMS.
  
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.
  
Adrien
  

------ Original Message ------
From: "Bron Gondwana" <brong@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Sent: 27/03/2012 1:30:27 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>On Tue, Mar 27, 2012 at 12:13:00AM +0000, Adrien W. de Croy wrote:
>
>>
>>Hi all
>>
>>Apologies if this is covered somewhere and I missed it.
>>
>>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
>>
>>My gut feel is that the intent of CONDSTORE would be that the
>>HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages
>>being removed from a mailbox.
>>
>
>
>Absolutely.  In fact, if you look at QRESYNC, it not only needs to
>increment the HIGHESTMODSEQ, it has to increment the MODSEQ of the
>message being expunged so that you can give a VANISHED response.
>
>
>>
>>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ
>>becomes unreliable as an indication that anything changed on a
>>mailbox, since a UID EXPUNGE may have removed messages. I'd like
>>clients to be
>>able to rely on HMS as an indication that ANY work is required or not
>>to resynch.
>>
>
>
>You can increment HMS by however much you like, whenever you want, and
>still be compatible... it could be that something has changed which the
>client just didn't ask for.
>
>Bron ( until you run out of 64 bits anyway )
>
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0UX2m000915 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:30:33 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0UWpZ000914; Mon, 26 Mar 2012 17:30:32 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0UWCG000909 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:30:32 -0700 (MST) (envelope-from brong@fastmail.fm)
Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 8FAC92132F for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 20:30:31 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute1.internal (MEProxy); Mon, 26 Mar 2012 20:30:31 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=VReqoYIOzXaJNiL2TrL5NAUm pug=; b=BFuz6tUz3z6pYifHfYIG5z6YLBvXot3+gQ4z9sfzTZCxXopo2gufBLvI ye3QKQm1Cu2Jd4XXsBvD8ZmH4rKB9ATs8vAqsLS1zivsj7TAMzNiYkfnKN3mOz36 DnSJbOTQ1WPAbKLRTHnOj3eYUHsd2FeumQ8P4yefdUs89xehy6k=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=VReqoYIOzXaJNiL2TrL5NAUmpug=; b=SYjX4a9gq9q7AxCm+g0PSnhyAN0d BXjtPHXZXGEFyLtFsrOmBe4yDmHppFdMZQSTRrPnNqnGqcfA1DtOligPI1zMQ5lp 6RmvFZFv6tKlF1/gi2Cvo26Ilh4i4bAzV+0P5dnMCsmR929HIVmFR51FRHzvd+1I o/l7gpJ0y0tve4c=
X-Sasl-enc: KbgHlnlMAwKNdvhMbKC2rFe6jS9XTznUL6h6chiTnwGB 1332808231
Received: from localhost (CPE-124-189-182-143.cxzr1.win.bigpond.net.au [124.189.182.143]) by mail.messagingengine.com (Postfix) with ESMTPSA id 1BA014824EE; Mon, 26 Mar 2012 20:30:31 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id 030317E40ED; Tue, 27 Mar 2012 11:30:27 +1100 (EST)
Date: Tue, 27 Mar 2012 11:30:27 +1100
From: Bron Gondwana <brong@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Message-ID: <20120327003027.GA13922@launde.brong.net>
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On Tue, Mar 27, 2012 at 12:13:00AM +0000, Adrien W. de Croy wrote:
> Hi all
> 
> Apologies if this is covered somewhere and I missed it.
> 
> I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
> 
> My gut feel is that the intent of CONDSTORE would be that the
> HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages
> being removed from a mailbox.

Absolutely.  In fact, if you look at QRESYNC, it not only needs to
increment the HIGHESTMODSEQ, it has to increment the MODSEQ of the
message being expunged so that you can give a VANISHED response.

> If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ
> becomes unreliable as an indication that anything changed on a
> mailbox, since a UID EXPUNGE may have removed messages. I'd like
> clients to be
> able to rely on HMS as an indication that ANY work is required or not
> to resynch.

You can increment HMS by however much you like, whenever you want, and
still be compatible... it could be that something has changed which the
client just didn't ask for.

Bron ( until you run out of 64 bits anyway )



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0Mwwb000667 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:22:58 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0MwvN000666; Mon, 26 Mar 2012 17:22:58 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0Mv1T000661 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:22:58 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018944772@smtp.qbik.com>; Tue, 27 Mar 2012 13:22:56 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.1.2 (Build 3397)) with SMTP id <0010082086@sago.qbik.com>; Tue, 27 Mar 2012 13:22:56 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Adrien W. de Croy" <adrien@qbik.com>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Date: Tue, 27 Mar 2012 00:22:56 +0000
Content-Type: multipart/alternative; boundary="------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF"
In-Reply-To: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
Message-Id: <em52f19a61-6faf-47b3-a395-09f1859e15b4@BOMBED>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14195.0
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

--------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; format=flowed; charset=utf-8

  
sorry, looks like it's covered in UIDPLUS, since UID EXPUNGE must only 
affect messages with \Deleted.
  
therefore setting \Deleted will already affect HMS
  
Adrien

------ Original Message ------
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Sent: 27/03/2012 1:13:00 p.m.
Subject: CONDSTORE plus UID EXPUNGE undefined?
>Hi all
> 
>Apologies if this is covered somewhere and I missed it.
> 
>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
> 
>My gut feel is that the intent of CONDSTORE would be that the 
>HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages 
>being removed from a mailbox.
> 
>However in RFC4551 I can find no mention of what to do upon UID 
>EXPUNGE. Since there is no STORE beforehand, we can't rely on 
>processing associated with that.
> 
>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ 
>becomes unreliable as an indication that anything changed on a 
>mailbox, since a UID EXPUNGE may have removed messages. I'd like 
>clients to be able to rely on HMS as an indication that ANY work is 
>required or not to resynch.
> 
>Or is there another proposed way to do this?
>
>Regards
> 
>Adrien

--------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=utf-8

<HTML><HEAD>
<STYLE id=3DeMClientCss>blockquote.cite { margin-left: 5px; margin-right: 0=
px; padding-left: 10px; padding-right:0px; border-left: 1px solid #000000 }=

.plain pre { font-family: monospace; font-size: 100%; font-weight: normal; =
font-style: normal; }
body {font-family: Tahoma;font-size: 12pt;}
.plain pre {font-family: Tahoma;font-size: 12pt;}

#44c5894d81234174a65b849bb07ddccb BLOCKQUOTE.cite
{BORDER-LEFT: #000000 1px solid; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; MA=
RGIN-LEFT: 5px; MARGIN-RIGHT: 0px}
#44c5894d81234174a65b849bb07ddccb .plain PRE
{FONT-STYLE: normal; FONT-FAMILY: monospace; FONT-SIZE: 100%; FONT-WEIGHT: =
normal}
#44c5894d81234174a65b849bb07ddccb 
{FONT-FAMILY: Tahoma; FONT-SIZE: 12pt}
#44c5894d81234174a65b849bb07ddccb .plain PRE
{FONT-FAMILY: Tahoma; FONT-SIZE: 12pt}</STYLE>
</HEAD>
<BODY background=3D"" scroll=3Dauto class>
<DIV>&nbsp;</DIV>
<DIV>sorry, looks like it's covered in UIDPLUS, since UID EXPUNGE must only=
 affect messages with \Deleted.</DIV>
<DIV>&nbsp;</DIV>
<DIV>therefore setting \Deleted will already affect HMS</DIV>
<DIV>&nbsp;</DIV>
<DIV>Adrien</DIV>
<DIV><BR>------ Original Message ------<BR>From: "Adrien W. de Croy" &lt;ad=
rien@qbik.com&gt;<BR>To: "ietf-imapext@imc.org" &lt;ietf-imapext@imc.org&gt=
;<BR>Sent: 27/03/2012 1:13:00 p.m.<BR>Subject: CONDSTORE plus UID EXPUNGE u=
ndefined?<BR></DIV>
<BLOCKQUOTE class=3Dcite cite=3Deme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMB=
ED type=3D"cite">
<DIV id=3D44c5894d81234174a65b849bb07ddccb>
<DIV>Hi all</DIV>
<DIV>&nbsp;</DIV>
<DIV>Apologies if this is covered somewhere and I missed it.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.</DIV>=

<DIV>&nbsp;</DIV>
<DIV>My gut feel is that the intent of CONDSTORE would be that the HIGHESTM=
ODSEQ be incremented if a UID EXPUNGE results in any messages being removed=
 from a mailbox.</DIV>
<DIV>&nbsp;</DIV>
<DIV>However in RFC4551 I can find no mention of what to do upon UID EXPUNG=
E. Since there is no STORE beforehand, we can't rely on processing associat=
ed with that.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ b=
ecomes unreliable as an indication that anything changed on a mailbox, sinc=
e a UID EXPUNGE may have removed messages. I'd like clients to be able to r=
ely on HMS as an indication that ANY work is required or not to resynch.</D=
IV>
<DIV>&nbsp;</DIV>
<DIV>Or is there another proposed way to do this?</DIV>
<DIV><BR>Regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>Adrien</DIV></DIV></BLOCKQUOTE></BODY></HTML>
--------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF--



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0D6pN000375 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:13:06 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0D6UR000374; Mon, 26 Mar 2012 17:13:06 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0D4wV000359 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:13:05 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018944732@smtp.qbik.com>; Tue, 27 Mar 2012 13:13:00 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.1.2 (Build 3397)) with SMTP id <0010082080@sago.qbik.com>; Tue, 27 Mar 2012 13:13:00 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: CONDSTORE plus UID EXPUNGE undefined?
Date: Tue, 27 Mar 2012 00:13:00 +0000
Content-Type: multipart/alternative; boundary="------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8"
Message-Id: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14195.0
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

--------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; format=flowed; charset=utf-8

Hi all
  
Apologies if this is covered somewhere and I missed it.
  
I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
  
My gut feel is that the intent of CONDSTORE would be that the 
HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages 
being removed from a mailbox.
  
However in RFC4551 I can find no mention of what to do upon UID 
EXPUNGE. Since there is no STORE beforehand, we can't rely on 
processing associated with that.
  
If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ 
becomes unreliable as an indication that anything changed on a mailbox, =

since a UID EXPUNGE may have removed messages. I'd like clients to be 
able to rely on HMS as an indication that ANY work is required or not 
to resynch.
  
Or is there another proposed way to do this?

Regards
  
Adrien

--------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=utf-8

<HTML><HEAD>
<STYLE id=3DeMClientCss>
blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; =
padding-right:0px; border-left: 1px solid #000000 }
.plain pre { font-family: monospace; font-size: 100%; font-weight: normal; =
font-style: normal; }
body {font-family: Tahoma;font-size: 12pt;}
.plain pre {font-family: Tahoma;font-size: 12pt;}</STYLE>
</HEAD>
<BODY background=3D""><!--StartFragment-->
<DIV>Hi all</DIV>
<DIV>&nbsp;</DIV>
<DIV>Apologies if this is covered somewhere and I missed it.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.</DIV>=

<DIV>&nbsp;</DIV>
<DIV>My gut feel is that the intent of CONDSTORE would be that the HIGHESTM=
ODSEQ be incremented if a UID EXPUNGE results in any messages being removed=
 from a mailbox.</DIV>
<DIV>&nbsp;</DIV>
<DIV>However in RFC4551 I can find no mention of what to do upon UID EXPUNG=
E. Since there is no STORE beforehand, we can't rely on processing associat=
ed with that.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ b=
ecomes unreliable as an indication that anything changed on a mailbox, sinc=
e a UID EXPUNGE may have removed messages. I'd like clients to be able to r=
ely on HMS as an indication that ANY work is required or not to resynch.</D=
IV>
<DIV>&nbsp;</DIV>
<DIV>Or is there another proposed way to do this?</DIV>
<DIV><BR>Regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>Adrien</DIV><!--EndFragment--></BODY></HTML>
--------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8--



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TBoL9C013497 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 04:50:21 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TBoLDx013496; Thu, 29 Mar 2012 04:50:21 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TBoKv8013491 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 04:50:21 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 8F382F8DD77; Thu, 29 Mar 2012 11:50:19 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333021818-9886-9885/10/12; Thu, 29 Mar 2012 11:50:18 +0000
Message-Id: <4F744CE1.4060402@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 13:52:01 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist> <4F743669.80008@gulbrandsen.priv.no> <em6384cd4d-62c3-4645-a000-a74077096285@boist> <4F743B19.7080001@gulbrandsen.priv.no> <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist> <4F743D2C.10504@gulbrandsen.priv.no>
In-Reply-To: <4F743D2C.10504@gulbrandsen.priv.no>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

I fixed some typoes.

http://tools.ietf.org/html/draft-gulbrandsen-imap-move



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAhKx6011414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:43:20 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAhKu3011413; Thu, 29 Mar 2012 03:43:20 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAhIXp011407 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:43:20 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 551EFF8DD6C; Thu, 29 Mar 2012 10:43:18 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333017797-9886-9885/10/11; Thu, 29 Mar 2012 10:43:17 +0000
Message-Id: <4F743D2C.10504@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 12:45:00 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist> <4F743669.80008@gulbrandsen.priv.no> <em6384cd4d-62c3-4645-a000-a74077096285@boist> <4F743B19.7080001@gulbrandsen.priv.no> <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist>
In-Reply-To: <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On 03/29/2012 12:40 PM, Adrien W. de Croy wrote:
> it's just that looking in my code I have 2 options.
>  
> 1. nest locks in the case of non UID MOVE.
> 2. reply to non-UID MOVE with BAD.
>  
> Since this is still a draft, we could solve that problem right now :)

The draft as it stands only defines UID MOVE, not an MSN-based command,
so you're good.

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAexK0011283 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:40:59 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAexH7011282; Thu, 29 Mar 2012 03:40:59 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAevAB011277 for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:40:58 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018950634@smtp.qbik.com>; Thu, 29 Mar 2012 23:40:56 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "Bron Gondwana" <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Thu, 29 Mar 2012 10:40:56 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <4F743B19.7080001@gulbrandsen.priv.no>
Message-Id: <em21657b83-e5c8-49b1-a073-a6dcbd86f49b@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2TAewAB011278
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

------ Original Message ------
From: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "Bron Gondwana" <brong@fastmail.fm>;"ietf-imapext@imc.org" 
<ietf-imapext@imc.org>
Sent: 29/03/2012 11:36:09 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>On 03/29/2012 12:28 PM, Adrien W. de Croy wrote:
>
>>
>>it probably means though that only UID MOVE is safe.
>>
>
>
>Depends on the server and on how much time the server maintainer wants
>to spend on move.
>
>
>>
>>do we really need a non-UID MOVE?
>>
>
>
>You can restate that question as "how many clients prefer MSN-based
>commands and offer move in their UI" and my answer is "none that I know of".
>
  
it's just that looking in my code I have 2 options.
  
1. nest locks in the case of non UID MOVE.
2. reply to non-UID MOVE with BAD.
  
Since this is still a draft, we could solve that problem right now :)
  
Adrien

  
>
>
>Arnt
>
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAYT86011110 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:34:29 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAYT7L011109; Thu, 29 Mar 2012 03:34:29 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAYS5e011104 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:34:29 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 83137F8DD6B; Thu, 29 Mar 2012 10:34:27 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333017266-9886-9885/10/10; Thu, 29 Mar 2012 10:34:26 +0000
Message-Id: <4F743B19.7080001@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 12:36:09 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist> <4F743669.80008@gulbrandsen.priv.no> <em6384cd4d-62c3-4645-a000-a74077096285@boist>
In-Reply-To: <em6384cd4d-62c3-4645-a000-a74077096285@boist>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On 03/29/2012 12:28 PM, Adrien W. de Croy wrote:
> it probably means though that only UID MOVE is safe.

Depends on the server and on how much time the server maintainer wants
to spend on move.

> do we really need a non-UID MOVE?

You can restate that question as "how many clients prefer MSN-based
commands and offer move in their UI" and my answer is "none that I know of".

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TASa1F010949 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:28:36 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TASaEH010948; Thu, 29 Mar 2012 03:28:36 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TASZ87010943 for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:28:36 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018950621@smtp.qbik.com>; Thu, 29 Mar 2012 23:28:34 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "Bron Gondwana" <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Thu, 29 Mar 2012 10:28:34 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <4F743669.80008@gulbrandsen.priv.no>
Message-Id: <em6384cd4d-62c3-4645-a000-a74077096285@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2TASa87010944
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

  
it probably means though that only UID MOVE is safe.
  
do we really need a non-UID MOVE?

------ Original Message ------
From: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "Bron Gondwana" <brong@fastmail.fm>;"ietf-imapext@imc.org" 
<ietf-imapext@imc.org>
Sent: 29/03/2012 11:16:09 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>Bron is right, at least for some architectures. But his argument is
>really the same as I've heard umpteen times for move: Carrying out the
>copy/store/expunge sequence without the lock COPY can drop early has too
>many failure modes and handling them requires too much clientside code.
>
>Having a lock gives you the advantages of the lock at the cost of the lock.
>
>Arnt
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAPqsK010906 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:25:52 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAPq20010905; Thu, 29 Mar 2012 03:25:52 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAPp98010900 for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:25:51 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018950617@smtp.qbik.com>; Thu, 29 Mar 2012 23:25:49 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "Bron Gondwana" <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Thu, 29 Mar 2012 10:25:49 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <4F743669.80008@gulbrandsen.priv.no>
Message-Id: <eme507abf4-f978-47c8-bcdf-3422aca12728@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2TAPq98010901
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

﻿  
actually we don't nest locks in our implementation of move for this 
very reason.  
  
but for a DB-based index, move can be as simple as an update query on 
the folder field for a message.
  
Adrien

------ Original Message ------
From: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "Bron Gondwana" <brong@fastmail.fm>;"ietf-imapext@imc.org" 
<ietf-imapext@imc.org>
Sent: 29/03/2012 11:16:09 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>Bron is right, at least for some architectures. But his argument is
>really the same as I've heard umpteen times for move: Carrying out the
>copy/store/expunge sequence without the lock COPY can drop early has too
>many failure modes and handling them requires too much clientside code.
>
>Having a lock gives you the advantages of the lock at the cost of the lock.
>
>Arnt
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAEVI5010592 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Mar 2012 03:14:31 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2TAEVoE010591; Thu, 29 Mar 2012 03:14:31 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2TAETv0010586 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Thu, 29 Mar 2012 03:14:30 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 941BEF8DD69; Thu, 29 Mar 2012 10:14:27 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1333016066-9886-9885/10/9; Thu, 29 Mar 2012 10:14:26 +0000
Message-Id: <4F743669.80008@gulbrandsen.priv.no>
Date: Thu, 29 Mar 2012 12:16:09 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no> <20120328125443.GA3913@launde.brong.net> <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
In-Reply-To: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

Bron is right, at least for some architectures. But his argument is
really the same as I've heard umpteen times for move: Carrying out the
copy/store/expunge sequence without the lock COPY can drop early has too
many failure modes and handling them requires too much clientside code.

Having a lock gives you the advantages of the lock at the cost of the lock.

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SL4Ylt088392 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 14:04:34 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SL4YLl088391; Wed, 28 Mar 2012 14:04:34 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SL4WgP088385 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 14:04:34 -0700 (MST) (envelope-from robm@fastmail.fm)
Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 91F8721275; Wed, 28 Mar 2012 17:04:32 -0400 (EDT)
Received: from betaweb1.nyi.mail.srv.osa ([10.202.2.10]) by compute6.internal (MEProxy); Wed, 28 Mar 2012 17:04:32 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= message-id:from:to:cc:mime-version:content-transfer-encoding :content-type:in-reply-to:references:subject:date; s=mesmtp; bh= YEYTtGMF7dzRTl1uWpzbEwh4gCw=; b=fR+e3jnRdovZWvyvMabIM/cZGG6VJLCC ejQF9iN3cdmrABWr9SnVnVsP+X3K/qa3W0UtnnlvR2S2pPsSBlv4S5C4/wn5B0hS Lu37z0R6dPhcqj0qHbS5F2o8Q0NMyde4fFx/jx7OSnzRuA152eCwjwtsVDQeBSZP uKpUKBbBtl4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:from:to:cc:mime-version :content-transfer-encoding:content-type:in-reply-to:references :subject:date; s=smtpout; bh=YEYTtGMF7dzRTl1uWpzbEwh4gCw=; b=YIk /E47kekeON6CSH2SoqrHQFuSwrJ8o1E5VqQTO2g4xhJFCWcJ6JvdaJ2OdBcjMM8m LkEw3Sb6OvQixp/+L2x3eH2Z/r+IsrqivRfsNsWp/13WiElU0H2X9ZIJfcP92Tiz 5dgAcueADbCTxtBmyFsxZEnUd4OEppJvHqSBseo8=
Received: by betaweb1.nyi.mail.srv.osa (Postfix, from userid 99) id 680EE627BDE; Wed, 28 Mar 2012 17:04:32 -0400 (EDT)
Message-Id: <1332968672.22327.140661055394201.01FEA83D@webmail.messagingengine.com>
X-Sasl-Enc: IDqSRw0wEMdAJmutGw4eHBGKXcbuiaw+jD2DtBtgl28r 1332968672
From: Robert Mueller <robm@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>, Bron Gondwana <brong@fastmail.fm>, Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain
X-Mailer: MessagingEngine.com Webmail Interface
In-Reply-To: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
References: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Date: Thu, 29 Mar 2012 08:04:32 +1100
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

> >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.

Assuming you're using a "1 file = 1 email" model, then most filesystems
that support move, also support hardlinks, so a copy is actually
*cheaper* than a move, because you're just adding an extra link, and
adding links is usually a lot cheaper than unlinking.

In fact unlinks are usually sufficiently poorly optimised in
filesystems, that we explicitly added a "delayed expunge" mode to cyrus,
that allows us to push the unlink actions off into the future (eg
weekends) because they completely dominate the time on large expunges
otherwise.

> So the 2 locks are held a short time only.

It's not that they're short time only, it's that it can cause deadlocks
because for a move to be atomic, you have to have both locks at the same
time, while with copy you can get/drop them sequentially.

Rob



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SI9U52083672 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 11:09:30 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SI9UFO083671; Wed, 28 Mar 2012 11:09:30 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SI9SeB083659 for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 11:09:29 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From [192.168.1.10] (unverified [122.57.147.245]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018949109@smtp.qbik.com>; Thu, 29 Mar 2012 07:09:25 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Bron Gondwana" <brong@fastmail.fm>, "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Wed, 28 Mar 2012 18:09:23 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <20120328125443.GA3913@launde.brong.net>
Message-Id: <emdc1ad165-bbe3-4067-bc9f-d94eb5f6bb70@boist>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14247.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2SI9TeB083667
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

------ Original Message ------
From: "Bron Gondwana" <brong@fastmail.fm>
To: "Arnt Gulbrandsen" <arnt@gulbrandsen.priv.no>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
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.
>>
>>http://tools.ietf.org/html/draft-gulbrandsen-imap-move
>>
>
  
  
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.
  
  
>
>Bron.
>
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCtCda071842 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 05:55:12 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SCtCsF071841; Wed, 28 Mar 2012 05:55:12 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCtB4X071836 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 05:55:12 -0700 (MST) (envelope-from brong@fastmail.fm)
Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 125C62153A for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 08:55:11 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute3.internal (MEProxy); Wed, 28 Mar 2012 08:55:11 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=froSPShmSus5PMWVuMmeE100 FTA=; b=BSysAOB6Bu4TM50HHhsLN/9GAFtpEuL08SoZRcVdWZQwgsYkz1ang6Ys Pn9q0bAmHm/5r9v7cpx1x5FRpPPxmGnNeVJz6xToGPqumXP/SNCaz2VWuH/CZGuf mYDW6F1mUIiODq8FyPcOg00tsAlfsOOKPwkd3ujfBw7LWgaHg7s=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=froSPShmSus5PMWVuMmeE100FTA=; b=IcD66pWKcpWtu+6QiI2zJZznpOI0 nO0K2dHxvKFhSWbK3kiAAWKvHTdL8QPIxgTV1VdVRjNRQCXciYmy5TXQgkgsToLg CJCO1ssFX6I27a6kQj5RvT7MgcFusVHK4bnsCaxP5Ga3Qazd311gjITvu0m56Jtn L17OXsGSMNTownY=
X-Sasl-enc: RASDUmZ8dd/jtY12N/sRQFPaqf322gLcGVMP/AVy/c5k 1332939310
Received: from localhost (CPE-60-229-71-8.lns16.ken.bigpond.net.au [60.229.71.8]) by mail.messagingengine.com (Postfix) with ESMTPSA id 04A408E019B; Wed, 28 Mar 2012 08:55:10 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id 71C497E4122; Wed, 28 Mar 2012 23:54:43 +1100 (EST)
Date: Wed, 28 Mar 2012 23:54:43 +1100
From: Bron Gondwana <brong@fastmail.fm>
To: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
Cc: ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Message-ID: <20120328125443.GA3913@launde.brong.net>
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED> <4F730262.6040707@gulbrandsen.priv.no>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4F730262.6040707@gulbrandsen.priv.no>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

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.
> 
> http://tools.ietf.org/html/draft-gulbrandsen-imap-move

   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.

Bron.



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCKGri070596 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Mar 2012 05:20:16 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2SCKG9K070595; Wed, 28 Mar 2012 05:20:16 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from strange.aox.org (strange.aox.org [80.244.248.170]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2SCKEZ3070589 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Wed, 28 Mar 2012 05:20:16 -0700 (MST) (envelope-from arnt@gulbrandsen.priv.no)
Received: from fri.gulbrandsen.priv.no (unknown [127.0.0.1]) by strange.aox.org (Postfix) with ESMTP id 2C27AF8D919; Wed, 28 Mar 2012 12:20:13 +0000 (UTC)
Received: from arnt@gulbrandsen.priv.no by fri.gulbrandsen.priv.no (Archiveopteryx 3.1.4) with esmtpsa id 1332937212-9886-9885/10/6; Wed, 28 Mar 2012 12:20:12 +0000
Message-Id: <4F730262.6040707@gulbrandsen.priv.no>
Date: Wed, 28 Mar 2012 14:21:54 +0200
From: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Mime-Version: 1.0
To: ietf-imapext@imc.org
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED> <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
In-Reply-To: <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
Content-Type: text/plain; charset=utf-8
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

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.

http://tools.ietf.org/html/draft-gulbrandsen-imap-move

Arnt



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R2gZ6S004251 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 19:42:35 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R2gZM9004250; Mon, 26 Mar 2012 19:42:35 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R2gY9e004238 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 19:42:35 -0700 (MST) (envelope-from brong@fastmail.fm)
Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 457F721054 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 22:42:34 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute1.internal (MEProxy); Mon, 26 Mar 2012 22:42:34 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=4xBDuNwFPc/IOyk0U/ByXIPQ Giw=; b=lNCLBeE+DThyGYAnUvDa0oGgDBRFDjGhQ+OBP2KhoPHuFBlxVpZpGMkg YRERxJ7ibJFarL/3gsQe63iSvhAP/j+kI83GkhSQ+Y9pKpL7Ps2bEqeJwT5Jccgl w6q7bfXwmSv6G03Jhs785bvijhcpALW5qeUY5O9bpwCKCd16s/4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=4xBDuNwFPc/IOyk0U/ByXIPQGiw=; b=jQj8RykyAkkijnhjdEsOuRFPT2+3 fZ5zD2X9bgJC8ZxoDxR6JdhdaIkOj/9/FSfUVQqhrol2MAVk8oy2gZ3nbIDxXVQ1 12KCBxJQQarqxyPFy3TQBOCbdqmjvD+hCKGjnHBrWcRGrQLGz9prdgeDdNE7ez05 xeJK/7j9QKF1zYg=
X-Sasl-enc: vVrb1zJEIHWP5Ckw0coK+QWc9gXUBFkvax1sDF3B0JZM 1332816153
Received: from localhost (CPE-124-189-182-143.cxzr1.win.bigpond.net.au [124.189.182.143]) by mail.messagingengine.com (Postfix) with ESMTPSA id C7C1048252B; Mon, 26 Mar 2012 22:42:33 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id A423A7E40ED; Tue, 27 Mar 2012 13:42:30 +1100 (EST)
Date: Tue, 27 Mar 2012 13:42:30 +1100
From: Bron Gondwana <brong@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: Bron Gondwana <brong@fastmail.fm>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: Re: Re[2]: CONDSTORE plus UID EXPUNGE undefined?
Message-ID: <20120327024230.GD15034@launde.brong.net>
References: <20120327003027.GA13922@launde.brong.net> <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On Tue, Mar 27, 2012 at 12:44:35AM +0000, Adrien W. de Croy wrote:
> Looks like our issue related to MOVE + CONDSTORE.
> 
> Since MOVE doesn't do an untagged FETCH response advertising \Deleted
> on the source, but instead only sends untagged EXPUNGE responses, it's
> not clear about incrementing HMS.
> 
> The obvious behaviour is to increment HMS.
> 
> 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.

Agree that it's worthwhile.  We're already using it internally for our
web interface talking to the Cyrus backends.

My attitude to HMS is - if anything user-visible changes, the HMS must
be bumped such that a client connection can never see two different
responses with exactly the same HMS.  Idempotency is good.

Bron.



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0iclS001140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:44:38 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0ic9d001139; Mon, 26 Mar 2012 17:44:38 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0ianZ001134 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:44:37 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018944795@smtp.qbik.com>; Tue, 27 Mar 2012 13:44:35 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.1.2 (Build 3397)) with SMTP id <0010082097@sago.qbik.com>; Tue, 27 Mar 2012 13:44:35 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Bron Gondwana" <brong@fastmail.fm>
Subject: Re[2]: CONDSTORE plus UID EXPUNGE undefined?
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Date: Tue, 27 Mar 2012 00:44:35 +0000
Content-Type: text/plain; format=flowed; charset=utf-8
In-Reply-To: <20120327003027.GA13922@launde.brong.net>
Message-Id: <emf45cef2d-b9ad-451a-b580-d69c8c844572@BOMBED>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14195.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by hoffman.proper.com id q2R0ibnZ001135
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

Looks like our issue related to MOVE + CONDSTORE.
  
Since MOVE doesn't do an untagged FETCH response advertising \Deleted 
on the source, but instead only sends untagged EXPUNGE responses, it's 
not clear about incrementing HMS.
  
The obvious behaviour is to increment HMS.
  
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.
  
Adrien
  

------ Original Message ------
From: "Bron Gondwana" <brong@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Sent: 27/03/2012 1:30:27 p.m.
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
>On Tue, Mar 27, 2012 at 12:13:00AM +0000, Adrien W. de Croy wrote:
>
>>
>>Hi all
>>
>>Apologies if this is covered somewhere and I missed it.
>>
>>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
>>
>>My gut feel is that the intent of CONDSTORE would be that the
>>HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages
>>being removed from a mailbox.
>>
>
>
>Absolutely.  In fact, if you look at QRESYNC, it not only needs to
>increment the HIGHESTMODSEQ, it has to increment the MODSEQ of the
>message being expunged so that you can give a VANISHED response.
>
>
>>
>>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ
>>becomes unreliable as an indication that anything changed on a
>>mailbox, since a UID EXPUNGE may have removed messages. I'd like
>>clients to be
>>able to rely on HMS as an indication that ANY work is required or not
>>to resynch.
>>
>
>
>You can increment HMS by however much you like, whenever you want, and
>still be compatible... it could be that something has changed which the
>client just didn't ask for.
>
>Bron ( until you run out of 64 bits anyway )
>
>
>




Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0UX2m000915 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:30:33 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0UWpZ000914; Mon, 26 Mar 2012 17:30:32 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0UWCG000909 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:30:32 -0700 (MST) (envelope-from brong@fastmail.fm)
Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 8FAC92132F for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 20:30:31 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute1.internal (MEProxy); Mon, 26 Mar 2012 20:30:31 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=VReqoYIOzXaJNiL2TrL5NAUm pug=; b=BFuz6tUz3z6pYifHfYIG5z6YLBvXot3+gQ4z9sfzTZCxXopo2gufBLvI ye3QKQm1Cu2Jd4XXsBvD8ZmH4rKB9ATs8vAqsLS1zivsj7TAMzNiYkfnKN3mOz36 DnSJbOTQ1WPAbKLRTHnOj3eYUHsd2FeumQ8P4yefdUs89xehy6k=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=VReqoYIOzXaJNiL2TrL5NAUmpug=; b=SYjX4a9gq9q7AxCm+g0PSnhyAN0d BXjtPHXZXGEFyLtFsrOmBe4yDmHppFdMZQSTRrPnNqnGqcfA1DtOligPI1zMQ5lp 6RmvFZFv6tKlF1/gi2Cvo26Ilh4i4bAzV+0P5dnMCsmR929HIVmFR51FRHzvd+1I o/l7gpJ0y0tve4c=
X-Sasl-enc: KbgHlnlMAwKNdvhMbKC2rFe6jS9XTznUL6h6chiTnwGB 1332808231
Received: from localhost (CPE-124-189-182-143.cxzr1.win.bigpond.net.au [124.189.182.143]) by mail.messagingengine.com (Postfix) with ESMTPSA id 1BA014824EE; Mon, 26 Mar 2012 20:30:31 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id 030317E40ED; Tue, 27 Mar 2012 11:30:27 +1100 (EST)
Date: Tue, 27 Mar 2012 11:30:27 +1100
From: Bron Gondwana <brong@fastmail.fm>
To: "Adrien W. de Croy" <adrien@qbik.com>
Cc: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Message-ID: <20120327003027.GA13922@launde.brong.net>
References: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

On Tue, Mar 27, 2012 at 12:13:00AM +0000, Adrien W. de Croy wrote:
> Hi all
> 
> Apologies if this is covered somewhere and I missed it.
> 
> I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
> 
> My gut feel is that the intent of CONDSTORE would be that the
> HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages
> being removed from a mailbox.

Absolutely.  In fact, if you look at QRESYNC, it not only needs to
increment the HIGHESTMODSEQ, it has to increment the MODSEQ of the
message being expunged so that you can give a VANISHED response.

> If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ
> becomes unreliable as an indication that anything changed on a
> mailbox, since a UID EXPUNGE may have removed messages. I'd like
> clients to be
> able to rely on HMS as an indication that ANY work is required or not
> to resynch.

You can increment HMS by however much you like, whenever you want, and
still be compatible... it could be that something has changed which the
client just didn't ask for.

Bron ( until you run out of 64 bits anyway )



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0Mwwb000667 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:22:58 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0MwvN000666; Mon, 26 Mar 2012 17:22:58 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0Mv1T000661 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:22:58 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018944772@smtp.qbik.com>; Tue, 27 Mar 2012 13:22:56 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.1.2 (Build 3397)) with SMTP id <0010082086@sago.qbik.com>; Tue, 27 Mar 2012 13:22:56 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "Adrien W. de Croy" <adrien@qbik.com>, "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: Re: CONDSTORE plus UID EXPUNGE undefined?
Date: Tue, 27 Mar 2012 00:22:56 +0000
Content-Type: multipart/alternative; boundary="------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF"
In-Reply-To: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
Message-Id: <em52f19a61-6faf-47b3-a395-09f1859e15b4@BOMBED>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14195.0
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

--------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; format=flowed; charset=utf-8

  
sorry, looks like it's covered in UIDPLUS, since UID EXPUNGE must only 
affect messages with \Deleted.
  
therefore setting \Deleted will already affect HMS
  
Adrien

------ Original Message ------
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Sent: 27/03/2012 1:13:00 p.m.
Subject: CONDSTORE plus UID EXPUNGE undefined?
>Hi all
> 
>Apologies if this is covered somewhere and I missed it.
> 
>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
> 
>My gut feel is that the intent of CONDSTORE would be that the 
>HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages 
>being removed from a mailbox.
> 
>However in RFC4551 I can find no mention of what to do upon UID 
>EXPUNGE. Since there is no STORE beforehand, we can't rely on 
>processing associated with that.
> 
>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ 
>becomes unreliable as an indication that anything changed on a 
>mailbox, since a UID EXPUNGE may have removed messages. I'd like 
>clients to be able to rely on HMS as an indication that ANY work is 
>required or not to resynch.
> 
>Or is there another proposed way to do this?
>
>Regards
> 
>Adrien

--------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=utf-8

<HTML><HEAD>
<STYLE id=3DeMClientCss>blockquote.cite { margin-left: 5px; margin-right: 0=
px; padding-left: 10px; padding-right:0px; border-left: 1px solid #000000 }=

.plain pre { font-family: monospace; font-size: 100%; font-weight: normal; =
font-style: normal; }
body {font-family: Tahoma;font-size: 12pt;}
.plain pre {font-family: Tahoma;font-size: 12pt;}

#44c5894d81234174a65b849bb07ddccb BLOCKQUOTE.cite
{BORDER-LEFT: #000000 1px solid; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; MA=
RGIN-LEFT: 5px; MARGIN-RIGHT: 0px}
#44c5894d81234174a65b849bb07ddccb .plain PRE
{FONT-STYLE: normal; FONT-FAMILY: monospace; FONT-SIZE: 100%; FONT-WEIGHT: =
normal}
#44c5894d81234174a65b849bb07ddccb 
{FONT-FAMILY: Tahoma; FONT-SIZE: 12pt}
#44c5894d81234174a65b849bb07ddccb .plain PRE
{FONT-FAMILY: Tahoma; FONT-SIZE: 12pt}</STYLE>
</HEAD>
<BODY background=3D"" scroll=3Dauto class>
<DIV>&nbsp;</DIV>
<DIV>sorry, looks like it's covered in UIDPLUS, since UID EXPUNGE must only=
 affect messages with \Deleted.</DIV>
<DIV>&nbsp;</DIV>
<DIV>therefore setting \Deleted will already affect HMS</DIV>
<DIV>&nbsp;</DIV>
<DIV>Adrien</DIV>
<DIV><BR>------ Original Message ------<BR>From: "Adrien W. de Croy" &lt;ad=
rien@qbik.com&gt;<BR>To: "ietf-imapext@imc.org" &lt;ietf-imapext@imc.org&gt=
;<BR>Sent: 27/03/2012 1:13:00 p.m.<BR>Subject: CONDSTORE plus UID EXPUNGE u=
ndefined?<BR></DIV>
<BLOCKQUOTE class=3Dcite cite=3Deme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMB=
ED type=3D"cite">
<DIV id=3D44c5894d81234174a65b849bb07ddccb>
<DIV>Hi all</DIV>
<DIV>&nbsp;</DIV>
<DIV>Apologies if this is covered somewhere and I missed it.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.</DIV>=

<DIV>&nbsp;</DIV>
<DIV>My gut feel is that the intent of CONDSTORE would be that the HIGHESTM=
ODSEQ be incremented if a UID EXPUNGE results in any messages being removed=
 from a mailbox.</DIV>
<DIV>&nbsp;</DIV>
<DIV>However in RFC4551 I can find no mention of what to do upon UID EXPUNG=
E. Since there is no STORE beforehand, we can't rely on processing associat=
ed with that.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ b=
ecomes unreliable as an indication that anything changed on a mailbox, sinc=
e a UID EXPUNGE may have removed messages. I'd like clients to be able to r=
ely on HMS as an indication that ANY work is required or not to resynch.</D=
IV>
<DIV>&nbsp;</DIV>
<DIV>Or is there another proposed way to do this?</DIV>
<DIV><BR>Regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>Adrien</DIV></DIV></BLOCKQUOTE></BODY></HTML>
--------=_MB0BC11C23-792B-4534-8D89-DCAF7E9638FF--



Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0D6pN000375 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 26 Mar 2012 17:13:06 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.5/8.13.5/Submit) id q2R0D6UR000374; Mon, 26 Mar 2012 17:13:06 -0700 (MST) (envelope-from owner-ietf-imapext@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-ietf-imapext@mail.imc.org using -f
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by hoffman.proper.com (8.14.5/8.14.3) with ESMTP id q2R0D4wV000359 for <ietf-imapext@imc.org>; Mon, 26 Mar 2012 17:13:05 -0700 (MST) (envelope-from adrien@qbik.com)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.2 (Build 3393)) with SMTP id <0018944732@smtp.qbik.com>; Tue, 27 Mar 2012 13:13:00 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.1.2 (Build 3397)) with SMTP id <0010082080@sago.qbik.com>; Tue, 27 Mar 2012 13:13:00 +1300
From: "Adrien W. de Croy" <adrien@qbik.com>
To: "ietf-imapext@imc.org" <ietf-imapext@imc.org>
Subject: CONDSTORE plus UID EXPUNGE undefined?
Date: Tue, 27 Mar 2012 00:13:00 +0000
Content-Type: multipart/alternative; boundary="------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8"
Message-Id: <eme5a21663-7eac-4f7b-ba02-75ce572f2448@BOMBED>
Mime-Version: 1.0
Reply-To: "Adrien W. de Croy" <adrien@qbik.com>
User-Agent: eM_Client/4.0.14195.0
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

--------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; format=flowed; charset=utf-8

Hi all
  
Apologies if this is covered somewhere and I missed it.
  
I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.
  
My gut feel is that the intent of CONDSTORE would be that the 
HIGHESTMODSEQ be incremented if a UID EXPUNGE results in any messages 
being removed from a mailbox.
  
However in RFC4551 I can find no mention of what to do upon UID 
EXPUNGE. Since there is no STORE beforehand, we can't rely on 
processing associated with that.
  
If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ 
becomes unreliable as an indication that anything changed on a mailbox, =

since a UID EXPUNGE may have removed messages. I'd like clients to be 
able to rely on HMS as an indication that ANY work is required or not 
to resynch.
  
Or is there another proposed way to do this?

Regards
  
Adrien

--------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=utf-8

<HTML><HEAD>
<STYLE id=3DeMClientCss>
blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; =
padding-right:0px; border-left: 1px solid #000000 }
.plain pre { font-family: monospace; font-size: 100%; font-weight: normal; =
font-style: normal; }
body {font-family: Tahoma;font-size: 12pt;}
.plain pre {font-family: Tahoma;font-size: 12pt;}</STYLE>
</HEAD>
<BODY background=3D""><!--StartFragment-->
<DIV>Hi all</DIV>
<DIV>&nbsp;</DIV>
<DIV>Apologies if this is covered somewhere and I missed it.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I've been reviewing behaviour of HIGHESTMODSEQ wrt UID EXPUNGE.</DIV>=

<DIV>&nbsp;</DIV>
<DIV>My gut feel is that the intent of CONDSTORE would be that the HIGHESTM=
ODSEQ be incremented if a UID EXPUNGE results in any messages being removed=
 from a mailbox.</DIV>
<DIV>&nbsp;</DIV>
<DIV>However in RFC4551 I can find no mention of what to do upon UID EXPUNG=
E. Since there is no STORE beforehand, we can't rely on processing associat=
ed with that.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If we shouldn't increment HMS on UID EXPUNGE, then the HIGHESTMODSEQ b=
ecomes unreliable as an indication that anything changed on a mailbox, sinc=
e a UID EXPUNGE may have removed messages. I'd like clients to be able to r=
ely on HMS as an indication that ANY work is required or not to resynch.</D=
IV>
<DIV>&nbsp;</DIV>
<DIV>Or is there another proposed way to do this?</DIV>
<DIV><BR>Regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>Adrien</DIV><!--EndFragment--></BODY></HTML>
--------=_MBE3DB4DAD-D74B-4CF4-8D33-1BF0507BE9C8--


