[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