[dovecot/core] aa6327: lib-index: If refreshing finds dovecot.index.log g...

GitHub noreply at github.com
Fri Jul 14 11:00:12 EEST 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: aa63277c6fa92cc3fb567555ef081f967d096775
      https://github.com/dovecot/core/commit/aa63277c6fa92cc3fb567555ef081f967d096775
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-14 (Fri, 14 Jul 2017)

  Changed paths:
    M src/lib-index/mail-transaction-log.c

  Log Message:
  -----------
  lib-index: If refreshing finds dovecot.index.log gone, assume the mailbox was deleted

Don't try to recreate the log file again. It can just cause further problems.

A way to reproduce this problem with NFS when INDEX dir is specified:
 * create mailbox foo, select foo, IDLE
 * delete mailbox foo
--> foo's index is recreated back by IDLEing process


  Commit: ba8eb17a398634b9b7fe7db4cabcada92db44543
      https://github.com/dovecot/core/commit/ba8eb17a398634b9b7fe7db4cabcada92db44543
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-14 (Fri, 14 Jul 2017)

  Changed paths:
    M src/lib-storage/list/mailbox-list-delete.c

  Log Message:
  -----------
  lib-storage: When index dir rmdir() fails with ENOTEMPTY, retry it for 1 second

This helps to avoid leaving those index directories lying around with NFS.
Hopefully within the 1 second any existing processes that have been keeping those
files open have finished their task. Especially IMAP IDLE will take 0.5 seconds
to start syncing indexes and realize that they're deleted.


Compare: https://github.com/dovecot/core/compare/a2f1aba45f67...ba8eb17a3986


More information about the dovecot-cvs mailing list