Can't unsubscribe from public mailbox when dsync multi-master is enabled

Salatiel Filho salatiel.filho at gmail.com
Thu Nov 25 21:41:59 UTC 2021


Nobody else facing this problem?
Thanks!


On Tue, Oct 12, 2021 at 10:36 AM Salatiel Filho
<salatiel.filho at gmail.com> wrote:
>
> Hello,
>
> I am trying to build a dovecot environment with 2 servers with dsync
> master<->master replication. Everything works just fine, one can login
> in any of the servers and see and manage their mails. The problem I
> see is that one can not unsubscribe from public mailboxes.
> Let's call the servers server1 and server2, both of them have an imap
> webui pointing to localhost, just to make the test easier.
> One  subscribes to a public mailbox connected through the webui on
> server1. A few seconds later the same user can see the subscribed
> mailbox on the webui on server2 just as expected, but if he tries to
> unsubscribe it will not work. The public mailbox folder will still be
> subscribed to and visible. There is absolutely nothing on the logs,
> but I know it is related to the dsync replication because if I
> shutdown any of the servers, I will be able to unsubscribe just fine,
> UNTIL the shutdown server is powered back on and replication starts
> again, and, in this case, the previously unsubscribed public mailbox
> will just reappear.
>
> Is this a bug or am I missing something in my configuration?
> Thanks!
>
>
> # dovecot -n
> # 2.3.16 (7e2e900c1a): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.5.16 (09c29328)
> # OS: Linux 4.18.0-305.19.1.el8_4.x86_64 x86_64
> auth_username_format = %Ln
> doveadm_password = # hidden, use -P to show it
> first_valid_uid = 1000
> mail_debug = yes
> mail_home = /var/spool/imap/%n
> mail_location = maildir:/var/spool/imap/%n/mail:VOLATILEDIR=/var/spool/imap/%n
> mail_plugins = " notify replication"
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope
> encoded-character vacation subaddress comparator-i;ascii-numeric
> relational regex imap4flags copy include variables body enotify
> environment mailbox date index ihave duplicate mime foreverypart
> extracttext
> namespace {
>   list = children
>   location = maildir:/var/spool/imap/salas/mail/:INDEXPVT=/var/spool/imap/%n/pub-seen-idx/
>   mailbox * {
>     autoexpunge = 60 days
>   }
>   prefix = salas/
>   separator = /
>   subscriptions = no
>   type = public
> }
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   prefix =
>   separator = /
> }
> passdb {
>   args = scheme=CRYPT username_format=%n /etc/dovecot/users
>   driver = passwd-file
> }
> passdb {
>   args = failure_show_msg=yes dovecot
>   driver = pam
> }
> plugin {
>   mail_replica = tcps:10.10.10.10:26
>   sieve = file:/var/spool/imap/%n/sieve;active=/var/spool/imap/%n/.dovecot.sieve
>   sieve_before = /var/lib/dovecot/sieve.d/
>   sieve_global = /var/lib/dovecot/sieve.d/
> }
> protocols = imap lmtp sieve
> replication_dsync_parameters = -d -N -l 10 -U
> service aggregator {
>   fifo_listener replication-notify-fifo {
>     mode = 0666
>     user = dovecot
>   }
>   unix_listener replication-notify {
>     mode = 0666
>     user = dovecot
>   }
> }
> service doveadm {
>   inet_listener {
>     port = 26
>     ssl = yes
>   }
> }
> service replicator {
>   process_min_avail = 1
>   unix_listener replicator-doveadm {
>     mode = 0666
>     user = dovecot
>   }
> }
> ssl = required
> ssl_ca = </etc/ssl/certs/mail-cluster-communication_ca.pem
> ssl_cert = </etc/ssl/certs/mail-cluster-communication.crt
> ssl_key = # hidden, use -P to show it
> userdb {
>   args = username_format=%n /etc/dovecot/users
>   default_fields = uid=vmail gid=mail home=/var/spool/imap
>   driver = passwd-file
> }
> userdb {
>   driver = passwd
>   override_fields = uid=vmail gid=mail home=/var/spool/imap/%n
> }
> protocol lmtp {
>   mail_plugins = " notify replication sieve"
> }
> protocol imap {
>   ssl_cert = </etc/ssl/certs/salas.com.crt
>   ssl_key = # hidden, use -P to show it
> }


More information about the dovecot mailing list