> On 03/11/2022 13:43 EET Ralf Becker <r...@egroupware.org> wrote: > > > Hi Aki, > > Am 03.11.22 um 12:27 schrieb Aki Tuomi: > >> On 03/11/2022 13:23 EET Aki Tuomi <aki.tu...@open-xchange.com> wrote: > >>> On 03/11/2022 13:19 EET Ralf Becker <r...@egroupware.org> wrote: > >>> > >>> > >>> Hi Aki, > >>> > >>> Am 03.11.22 um 10:54 schrieb Aki Tuomi: > >>>>> On 03/11/2022 11:46 EET Ralf Becker <r...@egroupware.org> wrote: > >>>>> > >>>>> > >>>>> Hi Aki, > >>>>> > >>>>> Am 03.11.22 um 10:29 schrieb Aki Tuomi: > >>>>>>> On 03/11/2022 11:27 EET Ralf Becker <r...@egroupware.org> wrote: > >>>>>>> > >>>>>>> > >>>>>>> Hi Aki, > >>>>>>> > >>>>>>> Am 03.11.22 um 09:12 schrieb Aki Tuomi: > >>>>>>>>> On 03/11/2022 10:09 EET Ralf Becker <r...@egroupware.org> wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Hi Aki, > >>>>>>>>> > >>>>>>>>> Am 03.11.22 um 08:50 schrieb Aki Tuomi: > >>>>>>>>>>> On 03/11/2022 09:46 EET Ralf Becker <r...@egroupware.org> wrote: > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> I'm trying to migrate an old Cyrus 2.5 server to Dovecot 2.3.19 > >>>>>>>>>>> using > >>>>>>>>>>> doveadm backup -R, which works for all folders but the INBOX > >>>>>>>>>>> itself, > >>>>>>>>>>> which always stays empty. > >>>>>>>>>>> > >>>>>>>>>>> The Cyrus side uses altnamespace:no and unixhierarchysep:no, it's > >>>>>>>>>>> used > >>>>>>>>>>> as imapc: remote in doveadm backup -R with imapc_list_prefix=INBOX > >>>>>>>>>>> > >>>>>>>>>>> Dovecot uses the following namespace to migrate into: > >>>>>>>>>>> > >>>>>>>>>>> namespace inboxes { > >>>>>>>>>>> inbox = yes > >>>>>>>>>>> location = > >>>>>>>>>>> mailbox Sent { > >>>>>>>>>>> auto = subscribe > >>>>>>>>>>> special_use = \Sent > >>>>>>>>>>> } > >>>>>>>>>>> ### some more folders omitted ### > >>>>>>>>>>> prefix = INBOX/ > >>>>>>>>>>> separator = / > >>>>>>>>>>> subscriptions = no > >>>>>>>>>>> } > >>>>>>>>>> Hi! > >>>>>>>>>> > >>>>>>>>>> When syncing mailboxes from other server, you should use migration > >>>>>>>>>> config file, which has **no** auto=subscribe or auto=create > >>>>>>>>>> folders, as these can mess up with synchronization. > >>>>>>>>>> > >>>>>>>>>> Please see > >>>>>>>>>> https://doc.dovecot.org/admin_manual/migrating_mailboxes/ for more > >>>>>>>>>> details. > >>>>>>>>> Does a migration config file specified with doveadm -c <file> add > >>>>>>>>> to and > >>>>>>>>> overwrite the existing Dovecot configuration for the time the > >>>>>>>>> command > >>>>>>>>> runs, like the -o options, or do I need to start a separate server > >>>>>>>>> with > >>>>>>>>> a full configuration to e.g. have my authentication and mailbox > >>>>>>>>> location > >>>>>>>>> available? > >>>>>>>>> > >>>>>>>>> Ralf > >>>>>>>>> > >>>>>>>> It does not add/replace/overwrite configuration, you provide a fresh > >>>>>>>> config file which is used *instead of* the default dovecot.conf. > >>>>>>>> > >>>>>>>> You don't need to run a separate instance necessarely, although in > >>>>>>>> some larger migrations this has been used as well. > >>>>>>> I created now a separate instance with a modified configuration file > >>>>>>> with no auto=subscribe (or create), no replication and an empty > >>>>>>> storage. > >>>>>>> doveadm config -n is attached. > >>>>>>> > >>>>>>> Unfortunately the result is identical to my previous tries: > >>>>>>> > >>>>>>> doveadm -o namespace/subs/location=mbox:/var/dovecot/subs -o > >>>>>>> imapc_user='someuser' -o imapc_password='secret' -D backup -n INBOX/ > >>>>>>> -R > >>>>>>> -u someuser@somedomain imapc: 2>&1 | tee /tmp/doveadm-backup.log > >>>>>>> > >>>>>>> Nov 03 09:06:35 dsync(someuser@somedomain): Warning: Mailbox changes > >>>>>>> caused a desync. You may want to run dsync again: Remote lost mailbox > >>>>>>> GUID c92f64f79f0d1ed01e6d5b314f04886c (maybe it was just deleted?) > >>>>>>> > >>>>>>> doveadm mailbox status -u someuser@somedomain all INBOX > >>>>>>> INBOX messages=0 recent=0 uidnext=1 uidvalidity=1577952633 unseen=0 > >>>>>>> highestmodseq=1 vsize=0 guid=c92f64f79f0d1ed01e6d5b314f04886c > >>>>>>> firstsaved=never > >>>>>>> > >>>>>>> Any ideas what else to try or how to debug that further? > >>>>>>> > >>>>>>> I can send you the full log to your personal address, if that helps > >>>>>>> ... > >>>>>>> > >>>>>>> Ralf > >>>>>> You should rm -rf the target folder first. Can you attach `doveadm -D > >>>>>> backup` logs? Check that it won't contain passwords. > >>>>> The mailbox directory did NOT exist before, therefore no need to rm -rf > >>>>> it. > >>>>> > >>>>> I send the logs to your private address only, I feel not comfortable to > >>>>> post them on the list. > >>>>> > >>>>> Ralf > >>>>> > >>>> 1. You did not delete the mailbox. > >>>> > >>>> 2. You are using **mbox** for subscription namespace, please don't. > >>>> > >>>> Also > >>>> > >>>> Nov 03 09:05:33 dsync(): Debug: brain M: Local mailbox tree: INBOX > >>>> guid=c8adef115c84636335000000effb6190 uid_validity=1667466332 uid_next=1 > >>>> subs=no last_change=0 last_subs=0 > >>>> Nov 03 09:05:33 dsync(): Debug: brain S: Local mailbox tree: INBOX > >>>> guid=c92f64f79f0d1ed01e6d5b314f04886c uid_validity=1577952633 > >>>> uid_next=32746 subs=no last_change=0 last_subs=0 > >>>> > >>>> This clearly shows that you did not, in fact, rm -rf the user's > >>>> mailboxes prir running backup. Can you please try again, and clean up > >>>> the user from t target mailsystem before running backup again? > >>>> > >>>> I would also strongly recommend not using ACL plugin while doing backup, > >>>> unless you are backing up ACLs from source system. > >>> I removed all ACL plugin and config from my Dovecot config and removed > >>> the subscription namespace from my doveadm backup command, but now it > >>> fails with an error: > >>> > >>> doveadm -o imapc_user='someuser' -o imapc_password='secret' -D backup -n > >>> INBOX/ -R -u someuser@somedomain imapc: > >>> > >>> Nov 03 11:12:15 doveadm(someuser@somedomain 156): Debug: Effective > >>> uid=90, gid=101, home=/var/dovecot/imap/somedomain/someuser > >>> Nov 03 11:12:15 doveadm(someuser@somedomain 156): Debug: Home dir not > >>> found: /var/dovecot/imap/somedomain/someuser > >>> > >>> Nov 03 11:12:15 doveadm(someuser@somedomain): Error: namespace > >>> configuration error: subscriptions=yes namespace missing > >>> > >>> doveadm config -n is attached. > >>> > >>> Ralf > >> You can keep the subscription namespace in your config, otherwise you have > >> no place to store subscriptions into. Just don't use mbox driver for it, > >> use sdbox instead. > >> > >> namespace subscriptions { > >> hidden = yes > >> list = no > >> location = > >> sdbox:/index/directory/%n/subs-shared/:LISTINDEX=root:SUBSCRIPTIONS=subscriptions-shared:LAYOUT=INDEX > >> prefix = > >> separator = / > >> subscriptions = yes > >> } > >> > >> Aki > > Oh and forgot to mention, for INBOX namespace you can leave subscriptions > > turned on. This is only needed for shared/public namespaces in any case.. > > I changed the config now, as you suggested (doveadm config -n is > attached), unfortunately the result stays the same: > > doveadm -o imapc_user='someuser' -o imapc_password='secret' -D backup -n > INBOX/ -R -u someuser@somedomain imapc: 2>&1|tee > /tmp/doveadm-backup-someuser2.log > > Nov 03 11:35:39 dsync(someuser@somedomain): Warning: Mailbox changes > caused a desync. You may want to run dsync again: Remote lost mailbox > GUID c92f64f79f0d1ed01e6d5b314f04886c (maybe it was just deleted?) > > doveadm mailbox status -u someuser@somedomain all INBOX > INBOX messages=0 recent=0 uidnext=1 uidvalidity=1577952633 unseen=0 > highestmodseq=1 vsize=0 guid=c92f64f79f0d1ed01e6d5b314f04886c > firstsaved=never > > I send the full log again to your private address. > > Ralf >
Seems I can reproduce this issue, we'll look into this. Aki