we are using dovecot 2.2.13 on debian jessie from default repositories in multiple two node replication cluster. For another cluster I was trying to set this up on debian stretch with current dovecot 2.2.27.
It seemed that notifiy was not working at all. Running replicate manually did work though.
I found several mailing list questions regarding this issue. It looks like there is some locking issue with maildir storage engine or notifying the replicator might not work. Tried to setup sdbox without any improvements.
Question 1: Is this change regarding the notify process that notifies the replicator?
Question 2: When will this version be available on dovecot stretch-auto repository? I installed sid version to test.
Question 3: What else can I do to make replication work?
OS: Linux 4.9.0-3-amd64 x86_64 Debian 9.0 ext4
auth_mechanisms = plain login
default_internal_user = vmail
doveadm_password = # hidden, use -P to show it
doveadm_port = 12345
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u
info_log_path = /var/log/dovecot/dovecot-info.log
log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_debug = no
mail_location = maildir:/var/vmail/%d/%n
mail_plugins = " notify replication"
mail_privileged_group = vmail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
mail_replica = tcp:mx02.example.com
replication_full_sync_interval = 24 hour
sieve = /var/vmail/%d/%n/.dovecot.sieve
sieve_dir = /var/vmail/%d/%n/
sieve_storage = /var/vmail/%d/%n/sieve/
}
protocols = " imap pop3"
service aggregator {
fifo_listener replication-notify-fifo {
mode = 0666
user = vmail
}
unix_listener replication-notify {
mode = 0666
user = vmail
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = root
}
service doveadm {
inet_listener {
port = 12345
}
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
process_min_avail = 1
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0666
}
}
ssl = required
ssl_cert = </etc/ssl/certs/cert.crt
ssl_cipher_list = HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-userdb
log_path = /var/log/dovecot/dovecot-deliver.log
mail_plugins = " notify replication sieve"
postmaster_address = postmaster@example.com
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
2017-07-03 21:50:54 imap-login: Info: Login: user=<user@example.com>, method=PLAIN, rip=1.2.3.4, lip=172.31.1.100, mpid=9584, TLS, session=<JhSzFW9TxO3VPWNi>
2017-07-03 21:50:54 imap(user): Debug: Loading modules from directory: /usr/lib/dovecot/modules
2017-07-03 21:50:54 imap(user): Debug: Module loaded: /usr/lib/dovecot/modules/lib15_notify_plugin.so
2017-07-03 21:50:54 imap(user): Debug: Module loaded: /usr/lib/dovecot/modules/lib20_replication_plugin.so
2017-07-03 21:50:54 imap(user): Debug: Added userdb setting: mail=maildir:/var/vmail/example.com/user
2017-07-03 21:50:54 imap(user): Debug: Effective uid=5000, gid=5000, home=/var/vmail/example.com/user
2017-07-03 21:50:54 imap(user): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/vmail/example.com/user
2017-07-03 21:50:54 imap(user): Debug: maildir++: root=/var/vmail/example.com/user, index=, indexpvt=, control=, inbox=/var/vmail/example.com/user, alt=
2017-07-03 21:50:54 imap(user): Debug: INBOX: Mailbox opened because: SELECT
2017-07-03 21:50:54 imap(user): Debug: Deleted Messages: Mailbox opened because: STATUS
2017-07-03 21:50:54 imap-login: Info: Login: user=<user@example.com>, method=PLAIN, rip=1.2.3.4, lip=172.31.1.100, mpid=9586, TLS, session=<HvO9FW9Txu3VPWNi>
2017-07-03 21:50:54 imap(user): Debug: Loading modules from directory: /usr/lib/dovecot/modules
2017-07-03 21:50:54 imap(user): Debug: Module loaded: /usr/lib/dovecot/modules/lib15_notify_plugin.so
2017-07-03 21:50:54 imap(user): Debug: Module loaded: /usr/lib/dovecot/modules/lib20_replication_plugin.so
2017-07-03 21:50:54 imap(user): Debug: Added userdb setting: mail=maildir:/var/vmail/example.com/user
2017-07-03 21:50:54 imap(user): Debug: Effective uid=5000, gid=5000, home=/var/vmail/example.com/user
2017-07-03 21:50:54 imap(user): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/vmail/example.com/user
2017-07-03 21:50:54 imap(user): Debug: maildir++: root=/var/vmail/example.com/user, index=, indexpvt=, control=, inbox=/var/vmail/example.com/user, alt=
2017-07-03 21:50:54 imap(user): Debug: Deleted Messages: Mailbox opened because: SELECT
2017-07-03 21:50:55 imap(user): Debug: Mailbox Deleted Messages: Opened mail UID=4 because: 10/17 headers not cached (first=CC) (Mail has other cached fields, reset_id=1498996658)
2017-07-03 21:50:55 imap(user): Debug: replication: Replication requested by 'transaction commit', priority=1
2017-07-03 21:50:55 imap(user): Debug: Deleted Messages: Mailbox opened because: STATUS
2017-07-03 21:50:55 doveadm(user): Debug: auth PASS input:
2017-07-03 21:50:55 doveadm(user): Debug: auth USER input:
2017-07-03 21:50:57 imap(user): Debug: Deleted Messages: Mailbox opened because: STATUS
2017-07-03 21:51:01 imap(user): Debug: replication: Replication requested by 'transaction commit', priority=2
2017-07-03 21:51:02 doveadm(user): Debug: auth PASS input:
2017-07-03 21:51:02 doveadm(user): Debug: auth USER input: