> On 23 Sep 2015, at 18:26, Marcin Mirosław <[email protected]> wrote: > > W dniu 23.09.2015 o 15:30, Timo Sirainen pisze: >> http://dovecot.org/releases/2.2/rc/dovecot-2.2.19.rc1.tar.gz >> http://dovecot.org/releases/2.2/rc/dovecot-2.2.19.rc1.tar.gz.sig >> >> A lot of changes since v2.2.18, so here's a release candidate first. If no >> bugs are reported, I'm planning on making the final release sometimes this >> week. The most interesting new features here are the imap-hibernate process, >> quota count backend and director/proxy improvements. > > Hi! > I'm seeing: > Sep 23 17:23:43 mail dovecot: dict: Panic: file driver-pgsql.c: line 463 > (do_query): assertion failed: (SQL_DB_IS_READY(&db->api)) > Sep 23 17:23:43 mail dovecot: dict: Fatal: master: service(dict): child > 23430 killed with signal 6 (core dumped) > Sep 23 17:23:43 mail dovecot: dict: Panic: file driver-pgsql.c: line 463 > (do_query): assertion failed: (SQL_DB_IS_READY(&db->api)) > Sep 23 17:23:43 mail dovecot: dict: Fatal: master: service(dict): child > 23321 killed with signal 6 (core dumped)
It's because dict-sql started actually doing an asynchronous commits now, which were broken with pgsql. These should fix it: http://hg.dovecot.org/dovecot-2.2/rev/59e4fcaa0f76 http://hg.dovecot.org/dovecot-2.2/rev/9ceeb1a5c492 http://hg.dovecot.org/dovecot-2.2/rev/beb3b8496b7d I think this also means that you could have only a couple of dict processes, since all the queries should now be done asynchronously. So if you had for example: quota = dict:User quota::proxy::sqlquota you could now have: quota = dict:User quota::proxy:dict-async:sqlquota You'd also probably need to change the service dict-async { unix_listener dict-async { permissions } }. Then again, it might not work. I haven't really tested this case. :)
