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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/31/22 19:43, ellie timoney wrote:
On Fri, 1 Apr 2022, at 4:42 AM, Andy Dorman wrote:
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?

No, I don't think that's the problem.  The "create the mailboxes first" thing that worked before was because the mailboxes were broken in such a way that they effectively didn't exist.  It's nothing to do with the usual relocate process.

It seems like maybe the mailbox name you provided to relocate_by_id is just not matching anything, so it does nothing (and succeeds at it).  Which I consider a bug -- if it doesn't find anything to do, it should say so, not successfully do nothing.

I'm not sure at a glance how it expects mailbox arguments to be spelled (whether in the "admin namespace" or "internal namespace").  Ideally it would be in the admin namespace, like the other tools, but my hunch is that it might be expecting internal namespace spelling.  If so, that's also a bug...

What if you use the -u option to specify users by username rather than by mailbox name?

Something like:  relocate_by_id -u foobar@xxxxxxxxxxx

It looks like that's what our tests do, and those are fine.  The only example in the man page also uses -u.  I guess we've assumed the tool will be mostly used on userids, and still have some rough edges left when invoked on mailboxes.  I've opened https://github.com/cyrusimap/cyrus-imapd/issues/4014 to get them smoothed off.  In the meantime, please just use the -u option and userids.

Well I just tried the steps above and step 1 failed.  I can't create the
mailbox in cyradm if it already exists in the old storage.

That's what I'd expect.  This mailbox does already exist, so of course you can't create it again. :)

Cheers,

ellie


OK. We are making progress...  :)

Specifying the mailbox by username worked...up to a point. However it looks like relocate expects to find a xapianactive directory and it died when it didn't find it. Below is what I saw in the command line.

yorick:~# sudo -u cyrus /usr/lib/cyrus/bin/relocate_by_id -u foobar@xxxxxxxxxxx

Relocating: user/foobar/Trash@xxxxxxxxxxx
Renaming: /var/spool/cyrus/mail/domain/U/comehome.net/F/user/foobar/Trash -> /var/spool/cyrus/mail/uuid/7/1/716c6cdf5ba5253e

Relocating: user/foobar/Templates@xxxxxxxxxxx
Renaming: /var/spool/cyrus/mail/domain/U/example.net/F/user/foobar/Templates -> /var/spool/cyrus/mail/uuid/4/c/4cd9a8da5ba5253e

Relocating: user/foobar/Spam@xxxxxxxxxxx
Renaming: /var/spool/cyrus/mail/domain/U/example.net/F/user/foobar/Spam -> /var/spool/cyrus/mail/uuid/6/3/63f6c7ab5ba5253e

Relocating: user/foobar/Sent@xxxxxxxxxxx
Renaming: /var/spool/cyrus/mail/domain/U/example.net/F/user/foobar/Sent -> /var/spool/cyrus/mail/uuid/6/3/63ec415e5ba5253e

Relocating: user/foobar/Drafts@xxxxxxxxxxx
Renaming: /var/spool/cyrus/mail/domain/U/example.net/F/user/foobar/Drafts -> /var/spool/cyrus/mail/uuid/6/2/62a142305ba5253e

Relocating: user/foobar@xxxxxxxxxxx
Failed to open activefile for /var/lib/cyrus/domain/U/example.net/user/F/foobar.xapianactive: Unknown code ____ 254


So, does this mean we have to convert to use xapian to use relocate? I think we would be fine with that, but we haven't yet moved from squatter to zapian.

Thanks.  Have a great weekend.

--
Andy


------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T849687550993b005-M15655eb402fabb17e92fd079
Delivery options: https://cyrus.topicbox.com/groups/info/subscription




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux