Hi,

with the last dovecot version (2.3.13) I see many of this warnings via "doveadm log errors":

Feb 17 03:26:28 Warning: dict(31513): conn unix:dict (pid=31330,uid=95): dict(mysql)<email1@company1.com>: sqlpool(mysql): Query failed, retrying: MySQL server has gone away (idled for 679 secs)
Feb 17 03:48:53 Warning: dict(31013): conn unix:dict (pid=31805,uid=95): dict(mysql)<email2@company2.com>: sqlpool(mysql): Query failed, retrying: MySQL server has gone away (idled for 685 secs)
Feb 17 03:54:12 Warning: dict(32529): conn unix:dict (pid=3147,uid=95): dict(mysql)<email3@company3.com>: sqlpool(mysql): Query failed, retrying: MySQL server has gone away (idled for 670 secs)

What do they mean?

I thinks are related to inactivity timeout on mysql server (where I have a wait_timeout=600), but these warnings could be problems or can be fixed with some setting in dovecot?

My dovecot configuration about dict:

dict {
  acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  sieve = mysql:/etc/dovecot/dovecot-dict-sieve-sql.conf.ext
  sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
plugin {
  [...]
  acl_shared_dict = proxy::acl
  expire_dict = proxy::expire
  quota2 = dict:Quota Usage::noenforcing:proxy::sqlquota
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = dict:proxy::sieve;name=activesql
  [...]
}
service dict {
  process_limit = 500
  unix_listener dict {
    group = vmail
    mode = 0660
    user = vmail
  }
}

Thanks

-- 
Alessio Cecchi
Postmaster @ http://www.qboxmail.it
https://www.linkedin.com/in/alessice