Timo Sirainen put forth on 2/14/2010 1:31 PM:
On Sun, 2010-02-14 at 01:16 -0600, Stan Hoeppner wrote:
If you use maildir format mailboxen, you physically can't run into a write lock contention between the MTA and the imap process because the MTA writes every new email to a new file name.
You're ignoring dovecot-uidlist and index files.
Apparently I'm missing something. If the MTA is creating files per Maildir specs, I fail to see how dovecot imap is going to be reading or writing one of these new files before it's actually fully written. I can't see a scenario where there could be lock contention. The MTA writes the new message files and never touches them again. Does Dovecot try to read them before they're actually committed?
Is dovecot trying to open a new maildir file after the MTA calls stat() but before link()? If dovecot doesn't know of the existence of the file before the link() operation commits the file to the filesystem, then I can't see how there can ever be lock contention with maildir files.
Can you please explain Timo, so I understand my error here?
Thanks.
-- Stan