<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I’m dealing for few days with replication issues between two dovecot containerized instances in Kubernetes environment.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">After some search, I found this thread that reports exactly the same symptoms I encountered :
</span><a href="https://dovecot.org/pipermail/dovecot/2019-October/117353.html"><span lang="EN-US">https://dovecot.org/pipermail/dovecot/2019-October/117353.html</span></a><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I can confirm that downgrade of dovecot to 2.3.7.2 fixes the issue.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Testing usage of -T parameter with a very low value (10s) on 2.3.8 version is reducing perceptible impact of the issue (mails are replicated within the following five minutes).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I’m not expert in dovecot architecture but I tried to put an eye in the code and I’m wondering if this commit is not creating a potential phantom stalled I/O timeout ?<o:p></o:p></span></p>
<p class="MsoNormal"><a href="https://github.com/dovecot/core/commit/ec817bb2185bb21b34ba6bdd83b32af16dd0b4ad#diff-f0ef7f961c147b56c28b246b06eb5eb6"><span lang="EN-US">https://github.com/dovecot/core/commit/ec817bb2185bb21b34ba6bdd83b32af16dd0b4ad#diff-f0ef7f961c147b56c28b246b06eb5eb6</span></a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">In fact, I was unable to see when the counter incremented by io_set_pending is decremented ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Hoping that this information can help…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Regards.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Fabien.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">+--------+<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">For technical details :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Container images are based on Arch Linux distro image.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Here is the configuration of Dovecot server :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">dovecot -n<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"># 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"># OS: Linux 4.19.66-coreos x86_64 ext4<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"># Hostname: mailstore-0.mailstore.piafe.svc.cluster.local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">disable_plaintext_auth = no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">doveadm_password = # hidden, use -P to show it<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">doveadm_port = 12345<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">login_greeting = PIAFE Mail Server Ready<o:p></o:p></span></p>
<p class="MsoNormal">mail_location = mdbox:/var/mail/%Ld/%Ln<o:p></o:p></p>
<p class="MsoNormal">mail_plugins = " notify replication quota"<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">namespace inbox {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> hidden = no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> inbox = yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> list = yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> location =<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mailbox Brouillons {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> auto = subscribe<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> special_use = \Drafts<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mailbox Corbeille {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> auto = subscribe<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> special_use = \Trash<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mailbox "Courrier indésirable" {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> auto = subscribe<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> special_use = \Junk<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mailbox Envoyés {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> auto = subscribe<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> special_use = \Sent<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> prefix =<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> separator = /<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> subscriptions = yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> type = private<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">passdb {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> args = /etc/dovecot/ldap.conf.ext<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> driver = ldap<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">plugin {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mail_replica = tcp:mailstore-1.mailstore.piafe.svc.cluster.local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span>quota = dirsize:User quota<o:p></o:p></p>
<p class="MsoNormal"> quota_grace = 10%%<o:p></o:p></p>
<p class="MsoNormal"> quota_max_mail_size = 20M<o:p></o:p></p>
<p class="MsoNormal"> quota_rule = *:storage=1G<o:p></o:p></p>
<p class="MsoNormal"> quota_rule2 = Trash:storage=+200M<o:p></o:p></p>
<p class="MsoNormal"> quota_status_access = DUNNO<o:p></o:p></p>
<p class="MsoNormal"> quota_status_nouser = DUNNO<o:p></o:p></p>
<p class="MsoNormal"> <span lang="EN-US">quota_status_overquota = 552 5.5.2 Mailbox is full<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">postmaster_address = postmaster@piafe.recouv.fr<o:p></o:p></span></p>
<p class="MsoNormal">replication_dsync_parameters = -d -N -l 30 -U -T 10<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">service aggregator {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> fifo_listener replication-notify-fifo {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span>user = mailer<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"> unix_listener replication-notify {<o:p></o:p></p>
<p class="MsoNormal"> user = mailer<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">service doveadm {<o:p></o:p></p>
<p class="MsoNormal"> inet_listener {<o:p></o:p></p>
<p class="MsoNormal"> port = 12345<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"> inet_listener http {<o:p></o:p></p>
<p class="MsoNormal"> port = 8080<o:p></o:p></p>
<p class="MsoNormal"> <span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">service lmtp {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> inet_listener lmtp {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> address = *<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span>port = 24<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">service replicator {<o:p></o:p></p>
<p class="MsoNormal"> process_min_avail = 1<o:p></o:p></p>
<p class="MsoNormal"> <span lang="EN-US">unix_listener replicator-doveadm {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> group = mailer<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mode = 0660<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ssl = no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">userdb {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> args = /etc/dovecot/ldap.conf.ext<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> default_fields = uid=500 gid=500 home=/var/mail/%Ld/%Ln<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span>driver = ldap<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">protocol imap {<o:p></o:p></p>
<p class="MsoNormal"> mail_plugins = " notify replication quota quota"<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>