doveadm/dsync/imapc loose folder subscriptions
As I already wrote some days ago we're actually running a huge migration using doveadm/dsync-backup/imapc:
doveadm -o imapc_user="$UNAME1" -o imapc_password="$PWORD1" -o imapc_host=$SERVER1 -o pop3c_user="$UNAME1" -o pop3c_password="$PWORD1" -o pop3c_host=$SERVER1 -D -v backup -R -u "$UNAME2" imapc:
We just noticed that doveadm looses changes in folder subscriptions if a folder is copied again.
a) Copy a mdbox-home of a user (using doveadm backup...)
b) Change his subscriptions on the source-side OR change his subscripts on the destination-side OR delete his subscriptions-file.
c) Copy that mdbox-home from that user again (using doveadm backup...)
doveadm will copy & merge his mails, but he does NOT check for changes in folder subscriptions. As you can see in the attached logs, doveadm nitices changes in subscriptions:
dsync(p100490p11): Debug: brain S: Local mailbox tree: INBOX.Trash guid=b36f688eae08506001091708006abe5a uid_validity=1368084367 uid_next=1206 subs=yes last_change=0 last_subs=0
dsync(p100490p11): Debug: brain M: Local mailbox tree: INBOX.Trash guid=b36f688eae08506001091708006abe5a uid_validity=1368084367 uid_next=1206 subs=no last_change=1448903088 last_subs=1448177531
but doesn't fix the subscriptions list:
dsync(p100490p11): Debug: brain M: Mailbox INBOX.Trash: local=b36f688eae08506001091708006abe5a/1448903088/1, remote=b36f688eae08506001091708006abe5a/0/1: Mailboxes are equal
Even a deletion of the subscriptions file doesn't work. doveadm does not create a new subscription file.
This bug is heavy, because incremental backups made by doveadm backup aren't complete and reliable any more.
Our biggest problem ist, that we changed the folder prefix and doveadm does change the folder names, but not the subscriptions. So we have several hundred thousand users with broken subscriptions (yes, sed can fix this, I know, but also we'd kill changes made by users during migration period).
Peer
-- Heinlein Support GmbH Schwedter Str. 8/9b, 10119 Berlin
http://www.heinlein-support.de
Tel: 030 / 405051-42 Fax: 030 / 405051-19
Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht Berlin-Charlottenburg, Geschäftsführer: Peer Heinlein -- Sitz: Berlin
Am 08.01.2016 um 12:34 schrieb Peer Heinlein:
Hi,
is there a chance for a nice and easy patch to fix this today?
Peer
doveadm will copy & merge his mails, but he does NOT check for changes in folder subscriptions. As you can see in the attached logs, doveadm notices changes in subscriptions:
dsync(p100490p11): Debug: brain S: Local mailbox tree: INBOX.Trash guid=b36f688eae08506001091708006abe5a uid_validity=1368084367 uid_next=1206 subs=yes last_change=0 last_subs=0
dsync(p100490p11): Debug: brain M: Local mailbox tree: INBOX.Trash guid=b36f688eae08506001091708006abe5a uid_validity=1368084367 uid_next=1206 subs=no last_change=1448903088 last_subs=1448177531
but doesn't fix the subscriptions list:
-- Heinlein Support GmbH Schwedter Str. 8/9b, 10119 Berlin
http://www.heinlein-support.de
Tel: 030 / 405051-42 Fax: 030 / 405051-19
Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht Berlin-Charlottenburg, Geschäftsführer: Peer Heinlein -- Sitz: Berlin
On 01/08/2016 01:34 PM, Peer Heinlein wrote:
As I already wrote some days ago we're actually running a huge migration using doveadm/dsync-backup/imapc:
doveadm -o imapc_user="$UNAME1" -o imapc_password="$PWORD1" -o imapc_host=$SERVER1 -o pop3c_user="$UNAME1" -o pop3c_password="$PWORD1" -o pop3c_host=$SERVER1 -D -v backup -R -u "$UNAME2" imapc:
We just noticed that doveadm looses changes in folder subscriptions if a folder is copied again.
a) Copy a mdbox-home of a user (using doveadm backup...)
b) Change his subscriptions on the source-side OR change his subscripts on the destination-side OR delete his subscriptions-file.
c) Copy that mdbox-home from that user again (using doveadm backup...)
doveadm will copy & merge his mails, but he does NOT check for changes in folder subscriptions. As you can see in the attached logs, doveadm nitices changes in subscriptions:
This should fix it: https://github.com/dovecot/core/commit/9d7f23fa2334e037c09d8cf90cc80b3c89ece...
participants (2)
-
Peer Heinlein
-
Timo Sirainen