jayare~dcml at videocoding.org
2020-Oct-25  16:19 UTC
Dovecot replication not picking up new mail in maildir
I've got a basic dovecot master-master replication setup between two 
servers (imap1 and imap2). Actions such as deleting messages or moving 
them between folders are replicated correctly and quickly.
However, when new mail is delivered by postfix, replication does not 
occur until something else triggers it, such as one of the delete/move 
actions mentioned earlier. A search suggested this may be due to the 
notify plugin, but I don't see any issue with the settings. Output of 
doveconf -n:
# 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf
# OS: Linux 4.19.118-0-vanilla x86_64 CentOS Linux release 7.8.2003 (Core)
# Hostname: imap1
disable_plaintext_auth = no
doveadm_password =  # hidden, use -P to show it
first_valid_uid = 1000
haproxy_trusted_networks = 172.16.0.0/24
mail_location = maildir:~/Mail
mail_plugins = zlib notify replication
mailbox_list_index = yes
mailbox_list_index_include_inbox = yes
maildir_empty_new = yes
mbox_write_locks = fcntl
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.ext
   driver = sql
}
plugin {
   mail_replica = tcp:imap2:9943
   replication_sync_timeout = 2
}
protocols = imap
service aggregator {
   fifo_listener replication-notify-fifo {
     mode = 0666
     user = dovecot
   }
   unix_listener replication-notify {
     mode = 0666
     user = dovecot
   }
}
service config {
   unix_listener config {
     user = dovecot
   }
}
service doveadm {
   inet_listener {
     port = 9943
   }
}
service imap-login {
   inet_listener imap_hpx {
     haproxy = yes
     port = 943
   }
}
service replicator {
   process_min_avail = 1
   unix_listener replicator-doveadm {
     mode = 0666
   }
}
ssl = no
userdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
protocol lda {
   mail_plugins = zlib notify replication
}
protocol imap {
   mail_plugins = zlib notify replication imap_zlib
}
I specifically tried setting the following as no and yes as they can 
affect notifications:
mailbox_list_index = yes
mailbox_list_index_include_inbox = yes
maildir_empty_new = yes
The other server has the same settings except obviously mail_replica = 
tcp:imap1:9943.
Any suggestions welcome, thanks!
On 25/10/2020 17:19, jayare~dcml at videocoding.org wrote:> I've got a basic dovecot master-master replication setup between two > servers (imap1 and imap2). Actions such as deleting messages or moving > them between folders are replicated correctly and quickly. > > However, when new mail is delivered by postfix, replication does not > occur until something else triggers it, such as one of the delete/move > actions mentioned earlier. A search suggested this may be due to the > notify plugin, but I don't see any issue with the settings. Output of > doveconf -n:Hi is there any error in the log? Can you show some evidence or an example? ie some email delivery in the master but not on the slave? Can you be sure to check both new and cur subdirectories on master and slave? John
Possibly Parallel Threads
- Dovecot replication not picking up new mail in maildir
- Dovecot replication not picking up new mail in maildir
- Dovecot 2.2. proxy_maybe and twice SSL connections
- Newbie question about replication
- director ignoring director_mail_servers for lmtp connections