On 10/25/2012 4:24 PM, Ben Morrow wrote:
At 1PM -0500 on 25/10/12 you (Stan Hoeppner) wrote:
Yes, actually I did, but I missed one part of it because I assumed you had Dovecot setup properly.
It doesn't matter if the mbox locks are write or read or both. Locks are the problem, period, because you have two daemons fighting over the same files. The fix is absolutely trivial:
Switch Postfix to use the Dovecot Local Deliver Agent (LDA) in place of the Postfix local/virtual delivery agent. Using Dovecot LDA eliminates the file locking issue. Thus it also increases throughput as lock latency is eliminated.
Nonsense. deliver and imap are still separate processes accessing the same mbox, so they still need to use locks. The only difference is that since they are both dovecot programs, they will automatically be using the *same* locking strategies, and things will Just Work.
"Nonsense" implies what I stated was factually incorrect, which is not the case. There's a difference between factual incorrectness and simply staying out of the weeds.
If you want to get into the weeds, and have me call you out for "nonsense", LDA/deliver is not a separate UNIX process. The LDA code runs within the imap process for the given user. This is what allows Dovecot to perform 'simultaneous' reads/writes to an mbox file, avoiding filesystem level locking latency. Using filesystem level locking to control read/write access between processes of own's program would be insane on many levels.
-- Stan