[Dovecot] Locking /var/mail/user issue with postfix and dovecot
Stan Hoeppner
stan at hardwarefreak.com
Fri Oct 26 03:25:53 EEST 2012
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
More information about the dovecot
mailing list