On 7 Nov 2017, at 9.15, Stephan von Krawczynski <skraw.ml@ithnet.com> wrote:
On Tue, 07 Nov 2017 13:19:12 +1000 Noel Butler <noel.butler@ausics.net> wrote:
mail_location Optionally disable indexes using :INDEX=MEMORY
don't use this on IMAP boxes, but is safe to use on SMTP and POP3's boxes though
eg:
mail_location = maildir:/var/vmail/%Ld/%1Ln/%1.1Ln/%2.1Ln/%Ln/Maildir:INDEX=MEMORY
Hello Noel,
this sounds interesting. Can you please elaborate why you think this is no good idea for IMAP? We used a different LDA-scheme before (simply created the mail in maildir/tmp, then renamed it to maildir/new, just like Bernstein suggests to do) and it worked very well, no matter if the box was used whith IMAP or POP3. Why should there be any difference in using dovecot-lda without indexes? Does dovecot-lda "create" the new mail by atomic rename from tmp, too?
Although the above disables updating indexes, there's still dovecot-uidlist file that is always updated by dovecot-lda. It might also cause corruption problems when multiple servers are accessing it at the same time. There's some old code that attempts to avoid updating the uidlist when it's not necessary (MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS==0), but I don't know if that works. There's also .dovecot.lda-dupes file that is written. And the Sieve scripts' compiled versions that you wanted to start using. In short: This might work, but I have a feeling you'll run into random corruption problems. I gave up trying to support simultaneous access in multiple servers via NFS long time ago, because no matter what I did kernel always cached too much and caused corruption (or alternatively it didn't cache enough and caused performance problems).