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"
}


Reply via email to