Limit replication to one user
Hello,
we have a setup here where the main (and only important) feature of the IMAP server is the public folder. Two Dovecot instances are running in a active/passive cluster and mailstorage should be replicated between the two.
Since there is a race condition when using public namespaces (locking on user level and not on mailbox level) I had the intention of limiting the replication to one user.
I read somewhere that dsync is replicating all the users the command "doveadm user '*'" shows. And the command only shows *one* user because I have modified the iterate_query:
,----[/etc/dovecot/mysql.conf] | iterate_query = SELECT username AS user FROM mailbox WHERE username = 'data_replication@example.com' `----
root [~]# doveadm user '*' data_replication@example.com root [~]#
So, why does Dovecot still replicate mails from other users inboxes? And why does doveadm replicator still show other users?
root [~]# doveadm replicator status '*' username priority fast sync full sync success sync failed data_replication@example.com none 00:57:14 01:13:21 00:57:12 - arne.hoffmann@example.com none 00:20:04 00:31:40 00:20:02 - root [~]#
[I removed some whitespace to keep line length in check]
Any explanation of this behavior would be just awesome. Hints to possible solution even more! :)
root [~]# doveconf -n # 2.2.24 (a82c823): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.13 (7b14904) # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.5 ext4 debug_log_path = /var/log/mail.debug disable_plaintext_auth = no doveadm_password = # hidden, use -P to show it mail_debug = yes mail_location = maildir:/var/mail/vmail/%d/%n/Maildir:INBOX=/var/mail/vmail/%d/%n/Maildir mail_plugins = " listescape notify replication" mail_privileged_group = vmail namespace { location = maildir:/var/mail/vmail/Öffentliche Ordner:INDEXPVT=~/Maildir/Öffentliche Ordner mailbox "Gelöschte Elemente" { auto = subscribe special_use = \Trash } mailbox XYZ-Projekt { auto = subscribe } prefix = Öffentliche Ordner/ separator = / subscriptions = no type = public } namespace inbox { inbox = yes location = mailbox "Gelöschte Elemente" { auto = subscribe special_use = \Trash } prefix = separator = / type = private } passdb { args = /etc/dovecot/mysql.conf driver = sql } plugin { mail_replica = tcps:10.162.70.70:22001 } protocols = imap replication_max_conns = 1 service aggregator { fifo_listener replication-notify-fifo { user = vmail } unix_listener replication-notify { user = vmail } } service doveadm { inet_listener { port = 22001 ssl = yes } } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { mode = 0660 user = vmail } } ssl = required ssl_ca =
Regards, Arne
participants (1)
-
Arne Hoffmann