Replication: Can't unsubscribe from shared mailbox

Karsten Heiken heiken at luis.uni-hannover.de
Mon Jan 16 14:19:16 UTC 2017


Hi all,

I hope it's okay to bump this once after four months.

In the meantime we updated to 2.2.26.0 and our problem still persists:
After unsubscribing from a shared mailbox, the subscription instantly re-appears.
A pcap was attached to my original mail, in case it has something to do with dsync:
http://dovecot.org/pipermail/dovecot/2016-September/105419.html

Is anyone on this mailing list using replication in combination with shared folders?
Does this problem exist for anyone else? I would love to hear from people who got this working or if anyone else is affected by this.

My original post is at the end of this email; the current doveconf is also attached.


Thank you very much,

Karsten

# doveconf -n
# 2.2.26.0 (23d1de6): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6
auth_cache_size = 10 M
auth_cache_ttl = 2 hours
default_vsz_limit = 1 G
dict {
   acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
lmtp_rcpt_check_quota = yes
login_trusted_networks = xxx
mail_attribute_dict = file:%h/dovecot-attributes
mail_gid = 7777
mail_location = mdbox:%h/mdbox
mail_plugins = " zlib quota acl notify replication"
mail_server_admin = mailto:postmaster at xxx
mail_server_comment = xxx
mail_shared_explicit_inbox = yes
mail_uid = 7777
mailbox_list_index = yes
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 imapflags notify
mdbox_rotate_size = 10 M
namespace {
   hidden = no
   ignore_on_failure = no
   inbox = no
   list = children
   location = mdbox:%%h/mdbox:INDEXPVT=%h/shared/%%u
   prefix = shared/%%u/
   separator = /
   subscriptions = no
   type = shared
}
namespace inbox {
   hidden = no
   inbox = yes
   list = yes
   location =
   mailbox 30dTrash {
     auto = subscribe
     autoexpunge = 30 days
     special_use = \Junk
   }
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix =
   separator = /
   subscriptions = yes
   type = private
}
passdb {
   args = /etc/dovecot/dovecot-ldap.conf.ext
   driver = ldap
}
plugin {
   acl = vfile
   acl_shared_dict = proxy::acl
   mail_replica = tcp:xxx:24245
   quota = dict:User quota::noenforcing:file:%h/dovecot-quota
   quota_grace = 2%%
   quota_rule = *:storage=8G
   quota_status_nouser = DUNNO
   quota_status_overquota = DUNNO
   quota_status_success = DUNNO
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
   sieve_extensions = +notify +imapflags
   sieve_max_actions = 250
   sieve_max_redirects = 200
   zlib_save = gz
   zlib_save_level = 6
}
postmaster_address = postmaster at xxx
protocols = " imap lmtp sieve pop3 sieve"
replication_dsync_parameters = -d -l 30 -U -N
replication_max_conns = 5
service aggregator {
   fifo_listener replication-notify-fifo {
     user = vmail
   }
   unix_listener replication-notify {
     user = vmail
   }
}
service auth {
   unix_listener auth-userdb {
     group = vmail
     user = vmail
   }
}
service dict {
   unix_listener dict {
     group = vmail
     mode = 0660
     user = vmail
   }
}
service doveadm {
   inet_listener {
     port = 24245
   }
}
service imap-login {
   process_min_avail = 16
   service_count = 0
}
service imap {
   executable = imap postlogin
   process_limit = 30000
}
service lmtp {
   inet_listener lmtp {
     port = 24
   }
   vsz_limit = 1 G
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
}
service managesieve {
   process_limit = 1024
}
service pop3-login {
   process_min_avail = 4
   service_count = 0
}
service pop3 {
   process_limit = 2500
}
service postlogin {
   executable = script-login -d rawlog /usr/local/bin/dovecot-postlogin.sh
}
service quota-status {
   client_limit = 1
   executable = quota-status -p postfix
   inet_listener {
     port = 12340
   }
}
service replicator {
   process_min_avail = 1
   unix_listener replicator-doveadm {
     mode = 0600
     user = vmail
   }
}
shutdown_clients = no
ssl_cert = </etc/dovecot/private/fullchain.pem
ssl_key =  # hidden, use -P to show it
syslog_facility = local6
userdb {
   args = /etc/dovecot/dovecot-ldap.conf.ext
   default_fields = home=/var/vmail/%Ld/%Ln quota_rule=*:bytes=8589934592
   driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
   mail_plugins = " zlib quota acl notify replication sieve quota"
}
protocol lda {
   mail_plugins = " zlib quota acl notify replication sieve"
}
protocol imap {
   imap_metadata = yes
   mail_max_userip_connections = 100
   mail_plugins = " zlib quota acl notify replication imap_quota imap_acl"
}
protocol pop3 {
   mail_max_userip_connections = 10
   mail_plugins = " zlib quota acl notify replication"
}


Am 13.09.2016 um 13:43 schrieb Karsten Heiken:
> Hi,
>
> I am running two dovecot servers active/active.
> Everything runs pretty great, except for the replication of subscriptions in a shared namespace.
>
> When I unsubscribe from a folder the subscription instantly re-appears. The timestamp on the subscriptions file is updated, but the entry is still in there.
> If the other node is shut down, everything works as expected, which leads me to believe that the subscription is re-applied upon a replicator-run.
>
> I attached a tcpdump of a dsync run.
> The only action that was executed was to unsubscribe from the folder shared/weinrot at luis.uni-hannover.de/INBOX.
>
> Is there any other way I might help debugging this?
>
>
> Thanks,
> Karsten
>
>
> # 2.2.24 (a82c823): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.4.13 (7b14904)
> # OS: Linux 2.6.32-44-pve x86_64 Debian 8.5
> default_vsz_limit = 512 M
> dict {
>    acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
> }
> imap_max_line_length = 2 M
> lmtp_rcpt_check_quota = yes
> mail_attribute_dict = file:%h/Maildir/dovecot-attributes
> mail_gid = 7777
> mail_location = maildir:%h/Maildir:LAYOUT=fs:DIRNAME=maiLdir
> mail_plugins = " zlib quota acl notify replication "
> mail_shared_explicit_inbox = yes
> mail_uid = 7777
> mailbox_list_index = yes
> 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 imapflags notify
> namespace {
>    hidden = no
>    ignore_on_failure = no
>    inbox = no
>    list = children
>    location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u:LAYOUT=fs:DIRNAME=maiLdir
>    prefix = shared/%%u/
>    separator = /
>    subscriptions = yes
>    type = shared
> }
> namespace inbox {
>    hidden = no
>    inbox = yes
>    list = yes
>    location =
>    mailbox 30dTrash {
>      auto = subscribe
>      autoexpunge = 30 days
>      special_use = \Junk
>    }
>    mailbox Drafts {
>      auto = subscribe
>      special_use = \Drafts
>    }
>    mailbox Sent {
>      auto = subscribe
>      special_use = \Sent
>    }
>    mailbox Trash {
>      auto = subscribe
>      special_use = \Trash
>    }
>    prefix =
>    separator = /
>    subscriptions = yes
>    type = private
> }
> passdb {
>    args = /etc/dovecot/dovecot-ldap.conf.ext
>    driver = ldap
> }
> plugin {
>    acl = vfile
>    acl_shared_dict = proxy::acl
>    mail_replica = tcp:10.6.1.10:24245
>    quota = maildir:Postfach-Limit
>    quota_grace = 2%%
>    quota_rule = *:storage=8G
>    quota_status_nouser = DUNNO
>    quota_status_overquota = 552 5.2.2 Mailbox is full
>    quota_status_success = DUNNO
>    sieve = ~/.dovecot.sieve
>    sieve_dir = ~/sieve
>    sieve_extensions = +notify +imapflags
>    sieve_max_actions = 250
>    sieve_max_redirects = 200
>    zlib_save = gz
>    zlib_save_level = 6
> }
> protocols = " imap lmtp sieve pop3 sieve"
> replication_dsync_parameters = -d -l 300 -U -N
> service aggregator {
>    fifo_listener replication-notify-fifo {
>      user = vmail
>    }
>    unix_listener replication-notify {
>      user = vmail
>    }
> }
> service auth {
>    unix_listener auth-userdb {
>      group = vmail
>      user = vmail
>    }
> }
> service dict {
>    unix_listener dict {
>      group = vmail
>      mode = 0660
>      user = vmail
>    }
> }
> service doveadm {
>    inet_listener {
>      port = 24245
>    }
> }
> service imap-login {
>    process_min_avail = 16
>    service_count = 0
> }
> service imap {
>    executable = imap postlogin
>    process_limit = 30000
> }
> service lmtp {
>    inet_listener lmtp {
>      port = 24
>    }
>    vsz_limit = 1 G
> }
> service managesieve-login {
>    inet_listener sieve {
>      port = 4190
>    }
> }
> service managesieve {
>    process_limit = 1024
> }
> service pop3-login {
>    process_min_avail = 4
>    service_count = 0
> }
> service pop3 {
>    process_limit = 2500
> }
> service postlogin {
>    executable = script-login -d rawlog /usr/local/bin/dovecot-postlogin.sh
> }
> service quota-status {
>    client_limit = 1
>    executable = quota-status -p postfix
>    inet_listener {
>      port = 12340
>    }
> }
> service replicator {
>    process_min_avail = 1
>    unix_listener replicator-doveadm {
>      mode = 0600
>      user = vmail
>    }
> }
> shutdown_clients = no
> ssl_cert = </etc/dovecot/private/fullchain.pem
> ssl_key = </etc/dovecot/private/privkey.pem
> syslog_facility = local6
> userdb {
>    args = /etc/dovecot/dovecot-ldap.conf.ext
>    default_fields = home=/var/vmail/%Ld/%Ln quota_rule=*:bytes=8589934592
>    driver = ldap
> }
> verbose_proctitle = yes
> protocol lmtp {
>    mail_plugins = " zlib quota acl notify replication  sieve quota"
> }
> protocol lda {
>    mail_plugins = " zlib quota acl notify replication  sieve"
> }
> protocol imap {
>    imap_metadata = yes
>    mail_max_userip_connections = 100
>    mail_plugins = " zlib quota acl notify replication  imap_quota imap_acl"
> }
> protocol pop3 {
>    mail_max_userip_connections = 10
>    mail_plugins = " zlib quota acl notify replication"
> }
>


More information about the dovecot mailing list