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

GitHub noreply at github.com
Fri Jul 14 09:00:10 EEST 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: fe5799cb926d65e895d7916d1ecacf5d09ac11e6
      https://github.com/dovecot/core/commit/fe5799cb926d65e895d7916d1ecacf5d09ac11e6
  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: 97ffd8e0b0374b9ccbbc788cf796e15d021ad090
      https://github.com/dovecot/core/commit/97ffd8e0b0374b9ccbbc788cf796e15d021ad090
  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/10207755f33a...97ffd8e0b037


More information about the dovecot-cvs mailing list