[Dovecot] Error with dsync in TCP replication
Patrick De Zordo
patrick at spamreducer.eu
Thu Jun 5 15:09:57 UTC 2014
Hey guys,
again this question..
We are trying to get dsync replication over TCP working..
But we are having a bit of troubles..
Our configuration (just most important parts):
---8<---------------------------------------------------------------
# 2.2.13 (304d545927d2): /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-24-generic x86_64 Ubuntu 14.04 LTS ext4
doveadm_password = secret
first_valid_uid = 150
last_valid_uid = 150
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_gid = mail
mail_location = maildir:/var/vmail/%d/%n
mail_plugins = " quota listescape zlib notify replication"
mail_uid = vmail
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 ihave duplicate
namespace inbox {
inbox = yes
location =
mailbox Archiv {
auto = subscribe
special_use = \Archive
}
mailbox Archive {
auto = no
special_use = \Archive
}
mailbox Drafts {
auto = no
special_use = \Drafts
}
mailbox Entwürfe {
auto = no
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
auto = no
special_use = \Sent
}
mailbox Trash {
auto = no
special_use = \Trash
}
prefix =
separator = /
}
plugin {
mail_replica = tcp:mx2.example.com:999
quota = dict:user::proxy::quota
quota_rule = *:storage=10MB
quota_rule2 = Trash:storage=+10%%
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
zlib_save = bz2
zlib_save_level = 9
}
protocols = " imap sieve pop3"
replication_max_conns = 1
service aggregator {
fifo_listener replication-notify-fifo {
mode = 0666
}
unix_listener replication-notify {
mode = 0666
}
}
service doveadm {
inet_listener {
port = 999
}
}
service replicator {
unix_listener replicator-doveadm {
mode = 0600
}
}
protocol lda {
mail_plugins = " quota listescape zlib notify replication quota sieve
listescape zlib"
}
protocol imap {
mail_plugins = " quota listescape zlib notify replication imap_quota
listescape zlib"
}
protocol sieve {
managesieve_max_line_length = 65536
}
---8<---------------------------------------------------------------
The problem:
After a user adds a sieve script with his mail application (in this case
Thunderbird with plugin):
1. the script is saved in /var/vmail/%d/%n/sieve/script_name == OK
2. this file (/var/vmail/%d/%n/sieve/script_name) is then symlinked
to /var/vmail/%d/%n/.dovecot.sieve == OK
Now the problem kicks in:
1. On the secondary server (mail_replica server) the script is created
+ the same symlink == OK
2. In logs (on secondary) there is shown this error every time a sync
is done:
---8<---------------------------------------------------------------
dsync-server( <mailto:user at example.com> user at example.com): Error: Failed to
access mailbox dovecot/sieve: Internal error occurred. Refer to server log
for more information.
dsync-server( <mailto:user at example.com> user at example.com): Error:
stat(/var/vmail/example.com/user/.dovecot.sieve/tmp) failed: Not a directory
---8<---------------------------------------------------------------
Issuing doveadm replicator status '*' on first server gives back:
username priority fast sync
full sync failed
user at example.com none 00:03:36
23:11:51 y
Sync from master->secondary is interrupted but sync from secondary->master
is working..
Thanks for any hint!
---------------------------------------------------------------------
Mit freundlichen Grüßen / Distinti saluti / Kind regards
De Zordo Patrick
patrick at spamreducer.eu
More information about the dovecot
mailing list