Since an upgrade to 2.0.1 from 1.2.x we're seeing this on (mostly) large mailboxes (Maildir)
Sep 4 11:27:25 dovecot: dict: mysql: Connected to 192.168.dd.dd (accounts) ... Sep 4 11:27:46 kelly-a dovecot: lda(u1@example.com):): msgid=<123@xxx>: saved mail to INBOX Sep 4 11:27:47 dovecot: dict: Error: sql dict: commit failed: Not connected to database Sep 4 11:27:47 dovecot: imap(u1@example.com): Error: dict quota: Quota update failed, it's now desynced
The dict is MySQL on another server, same switch. It does appear that the quota gets out of sync. From the entries I checked an email is often being delivered shortly before the error (as above). But I also see it happen with the lda:
Sep 4 08:27:11 dovecot: pop3(u2@example.com): Disconnected: Logged out... Sep 4 08:42:48 dovecot: lda(u2@example.com): msgid=<123@aaa>: saved mail to INBOX Sep 4 08:43:26 dovecot: lda(u2@example.com): msgid=<123@bbb>: saved mail to INBOX Sep 4 08:43:26 dovecot: dict: Error: sql dict: commit failed: Not connected to database Sep 4 08:43:26 dovecot: lda(u2@example.com): Error: dict quota: Quota update failed, it's now desynced Sep 4 08:46:14 dovecot: pop3-login: Login: user=<u2@example.com>,...
This is happening on two different dovecot servers. The only thing they share is the MySQL server, but it has a load of 0.5 at peak.
Is there something that can be tuned to keep this from happening?
Possibly relevant entries from doveconf -n
. Any tuning regarding dict
can be assumed as default:
maildir_very_dirty_syncs = yes mail_plugins = quota plugin { quota = dict:user:%LTd-%LTn:proxy::quota }
Thanks!
David