Hi Karsten,
I have a similar issue with current 2.2.27 version on CentOS with public
folder/namespaces on a active/active replication.
I am able to subscribe the public folder on one dovecot, but it is not
replicated to the 2nd dovecot throught dsync. Everything else is fine
with dsync, also the replication of the subscription of private/personal
folder.
Currently I am trying to debug this at the source code, but my C is
quite dusty.
Mike;
On 01/16/2017 03:19 PM, Karsten Heiken wrote:
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@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@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/wein...@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"
}