[Dovecot] Timeout (180s) while waiting for lock for transaction log file

Timo Sirainen tss at iki.fi
Tue Jul 17 16:09:42 EEST 2012


On Mon, 2012-07-09 at 10:45 +0200, Angel L. Mateo wrote:
> 	We still have problems with our updated dovecot servers... The problem 
> now is that we are having errors like:
> 
> Jul  9 10:22:02 myotis31 dovecot: lmtp(15431, <user>): Error: Timeout 
> (180s) while waiting for lock for transaction log file 
> /var/indexes/<user>/.INBOX/dovecot.index.log
..
> 	maildir are in a nfs storage, but indexes are in local disk. I don't 
> know if the problem could be related with a some "specific" messages or 
> something specific to the user, because we are having this problem only 
> with a few users and the problem repeatedly happens when our mta tries 
> to deliver the queued message.

If you can somewhat easily reproduce this for specific users, maybe you
could strace -tt the lmtp process doing the delivery to see what is
happening? Also, if the .log file is really locked for longer than
180secs, you should see a warning:

Transaction log file %s was locked for %u seconds

You could maybe also decrease the threshold for that warning:

diff -r 56ef4e70b1a9 src/lib-index/mail-transaction-log-file.c
--- a/src/lib-index/mail-transaction-log-file.c Tue Jul 17 15:44:36 2012 +0300
+++ b/src/lib-index/mail-transaction-log-file.c Tue Jul 17 16:09:28 2012 +0300
@@ -386,7 +386,7 @@
                return;
 
        lock_time = time(NULL) - file->lock_created;
-       if (lock_time >= MAIL_TRANSCATION_LOG_LOCK_TIMEOUT) {
+       if (lock_time >= 30) {
                i_warning("Transaction log file %s was locked for %u seconds",
                          file->filepath, lock_time);
        }




More information about the dovecot mailing list