Re: Using relocate_by_id to migrate a single mailbox from cyrus 3.4.3 to 3.6.0~beta2-1 storage?

Andy Dorman <[email protected]>
Newsgroups gmane.mail.imap.cyrus
Message-ID <[email protected]>
On 3/29/22 18:49, ellie timoney wrote:
> On Tue, 29 Mar 2022, at 12:36 AM, Andy Dorman wrote:
>> FWIW, I noticed most of our servers never added a uuid storage directory
>> when they updated last weekend. Is there a setting I need to add in
>> imapd.conf to enable uuid storage and use relocate_by_id to move
>> mailboxes to it?
> 
> No, you don't need to do anything to enable uuid storage.
> 
> What might be confusing/surprising you is that no existing mailboxes are 
> moved to uuid storage at all, until you relocate_by_id them.  But new, 
> top level mailboxes (e.g. new users) that you create after the upgrade 
> are created in uuid storage.  (This is why the create brand new 
> mailboxes hierarchy -> copy files -> reconstruct trick worked.)
> 
> There is a new option "mailbox_legacy_dirs", which turns *off* uuid 
> storage /for newly created top level mailboxes only/.  That is, if you 
> enable "mailbox_legacy_dirs", then any new top level mailboxes will be 
> created in the legacy storage instead of the uuid storage.  This still 
> has no effect on existing mailboxes: existing mailboxes will remain 
> wherever they were, and new submailboxes are always created wherever 
> their parent is.  You can always move mailboxes to uuid storage using 
> relocate_by_id, regardless of your "mailbox_legacy_dirs" setting.
> 
> It's usual in Cyrus for directories to be created as they're needed, and 
> not until.  I don't know that this is definitely the case for the uuid 
> directory, but it is consistent with how we usually do things.  Given 
> that you haven't created any new users since the upgrade, and the 
> mailboxes that already existed will stay where they are until you 
> relocate_by_id them, and any new mailboxes your existing users create 
> will be in the same place as their existing ones, it is not surprising 
> to me that there would not be a uuid directory yet on most of your servers.
> 
> Cheers,
> 
> ellie
> *Cyrus <https://cyrus.topicbox.com/latest>* / Info / see discussions 


Thank you Ellie. That is very useful information.

So do you think the problem several of us are having with relocate_by_id 
not apparently doing anything is because we need to create the base 
mailbox in uuid and THEN run relocate_by_id to move the emails and 
sub-folders to the uuid storage?

For example, should we be do these two steps to move [email protected]?

1. Use cyradm to create the base mailbox, [email protected]. Assuming we 
haven't set mailbox_legacy_dirs, this should create the uuid storage for 
the base mailbox. This of course assumes cyradm lets us create it and 
doesn't complain about the mailbox already existing (in old storage).

2. Use relocate_by_id to move [email protected] emails and subfolders to 
the newly created uuid storage.

I think we have several test mailboxes on our dev server that I might 
try the above on.

Andy

------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T681dd847d05c0c6c-Mf9ee01a6db35077eacb1ea11
Delivery options: https://cyrus.topicbox.com/groups/info/subscription
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.