Re: Which imap command to rename a root mailbox while maintaining its partition

ellie timoney ellie at fastmail.com
Wed Nov 6 00:02:35 EST 2019


"x RENAME old new" is now fixed such that the renamed mailbox will remain on its original partition (on both the master and cyrus-imapd-3.0 branches), instead of accidentally going through the choose-a-partition logic.

You still can't provide an explicit partition unless the mailbox name isn't changing, even if the partition you name is the original partition.

On Tue, Nov 5, 2019, at 7:08 PM, Bron Gondwana wrote:
> Wow - this looks like a bug in partition selection for user rename then :( We should fix that.
> 
> https://github.com/cyrusimap/cyrus-imapd/issues/2907
> 
> Cheers,
> 
> Bron.
> 
> On Tue, Nov 5, 2019, at 17:30, Thomas Cataldo wrote:
>> 
>> 
>> > On 29 Oct 2019, at 13:13, Ken Murchison <murch at fastmail.com> wrote:
>> > 
>> > x RENAME <old> <new> <partition>
>> > 
>> > 
>> > should work
>> 
>> 
>> Agree, but it does not :-)
>> 
>> At least with version 3.0.8 :
>> 
>> localhost> info user/ren at devenv.blue
>> {user/ren at devenv.blue}:
>> private:
>>  check: NIL
>>  checkperiod: NIL
>>  comment: NIL
>>  sort: NIL
>>  specialuse: NIL
>>  thread: NIL
>>  expire: NIL
>>  news2mail: NIL
>>  sieve: NIL
>>  squat: NIL
>> shared:
>>  check: NIL
>>  checkperiod: NIL
>>  comment: NIL
>>  sort: NIL
>>  specialuse: NIL
>>  thread: NIL
>>  annotsize: 0
>>  duplicatedeliver: false
>>  expire: NIL
>>  lastpop: NIL
>>  lastupdate: 4-Nov-2019 15:32:13 +0000
>>  news2mail: NIL
>>  partition: bm-master__devenv_blue
>>  pop3newuidl: true
>>  pop3showafter: NIL
>>  sharedseen: false
>>  sieve: NIL
>>  size: 32310
>>  squat: NIL
>>  synccrcs: 2599665889 0
>>  uniqueid: ee8ede37-153a-4650-bf94-3da7d4f52043
>> 
>> 
>> An IMAP session as admin :
>> 
>> telnet localhost 1143
>> Trying ::1...
>> Trying 127.0.0.1...
>> Connected to localhost.
>> Escape character is '^]'.
>> * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN SASL-IR] server ready
>> . login admin0 admin
>> . OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<cyrus-26086-1572885470-1-16005178469193034866>
>> . RENAME user/ren at devenv.blue user/rename at devenv.blue bm-master__devenv_blue
>> . NO Cross-server or cross-partition move w/rename not supported
>> . RENAME user/ren at devenv.blue user/rename at devenv.blue
>> * OK rename user/ren at devenv.blue user/rename at devenv.blue
>> * OK rename user/ren/Drafts at devenv.blue user/rename/Drafts at devenv.blue
>> * OK rename user/ren/Junk at devenv.blue user/rename/Junk at devenv.blue
>> * OK rename user/ren/Outbox at devenv.blue user/rename/Outbox at devenv.blue
>> * OK rename user/ren/Sent at devenv.blue user/rename/Sent at devenv.blue
>> * OK rename user/ren/Trash at devenv.blue user/rename/Trash at devenv.blue
>> . OK Completed
>> 
>> But if I use the version without an explicit partition, the new mailbox ends up in :
>> 
>> > info user/rename at devenv.blue
>> {user/rename at devenv.blue}:
>> private:
>>  check: NIL
>>  checkperiod: NIL
>>  comment: NIL
>>  sort: NIL
>>  specialuse: NIL
>>  thread: NIL
>>  expire: NIL
>>  news2mail: NIL
>>  sieve: NIL
>>  squat: NIL
>> shared:
>>  check: NIL
>>  checkperiod: NIL
>>  comment: NIL
>>  sort: NIL
>>  specialuse: NIL
>>  thread: NIL
>>  annotsize: 0
>>  duplicatedeliver: false
>>  expire: NIL
>>  lastpop: NIL
>>  lastupdate: 4-Nov-2019 16:43:36 +0000
>>  news2mail: NIL
>>  partition: default
>>  pop3newuidl: true
>>  pop3showafter: NIL
>>  sharedseen: false
>>  sieve: NIL
>>  size: 32310
>>  squat: NIL
>>  synccrcs: 2599665889 0
>>  uniqueid: ee8ede37-153a-4650-bf94-3da7d4f52043
>> 
>> 
>> which forces me issue a second command in my imap session :
>> 
>> . RENAME user/rename at devenv.blue user/rename at devenv.blue bm-master__devenv_blue
>> * OK rename user/rename at devenv.blue user/rename at devenv.blue
>> * OK rename user/rename/Drafts at devenv.blue user/rename/Drafts at devenv.blue
>> * OK rename user/rename/Junk at devenv.blue user/rename/Junk at devenv.blue
>> * OK rename user/rename/Outbox at devenv.blue user/rename/Outbox at devenv.blue
>> * OK rename user/rename/Sent at devenv.blue user/rename/Sent at devenv.blue
>> * OK rename user/rename/Trash at devenv.blue user/rename/Trash at devenv.blue
>> . OK Completed
>> 
>> 
>> Which moves the mailbox to the partition where I want it (its original one).
>> 
>> 
>> The problem with the non-atomic rename is that our replication target receives data belonging to the default partition, which is not desired or expected.
>> 
>> 
>> 
>> 
>> Thomas Cataldo
>> Directeur Technique 
>> 
>> (+33) 6 42 25 91 38
>> 
>> BlueMind
>> +33 (0)5 81 91 55 60
>> Hotel des Télécoms, 40 rue du village d'entreprises
>> 31670 Labège, France
>> www.bluemind.net / https://blog.bluemind.net/fr/
>> 
> 
> --
>  Bron Gondwana, CEO, Fastmail Pty Ltd
>  brong at fastmailteam.com
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20191106/1da0d902/attachment-0001.html>


More information about the Cyrus-devel mailing list