[Dovecot] Re: 0.99.10.5 release candidate
B.Candler at pobox.com
Sun May 30 11:32:26 EEST 2004
On Sat, May 29, 2004 at 03:28:29PM -0700, James Moser wrote:
> I know FreeBSD currently does not (or at least 4.x, and I'm pretty sure
> neither does 5.x)
That's my experience with 4.x too; I've not tried 5.x with this but then I
don't remember seeing any release notes saying this had changed either.
For POP3 access, I'm happy for no locks to be in place at all. If someone is
daft enough to make two concurrent POP3 accesses to the same mailbox, then
at worst what happens when they try to retrieve a message is they'll get
-ERR This message has been deleted by someone else!
or something like that. I can live with that.
I've seen too many mailsystems which have annoying mailbox locks; you
disconnect and the mailbox remains unavailable for 30 minutes or more
because it thinks you are using it.
Dotlocks are a pain when you have multiple frontends on an NFS server,
because it's impossible to tell if they're stale (they may contain the
information that they were created by server B pid P, but if you're on
server A, you can't tell whether process P is still running on B or not)
If it were felt that locking were important, then I'd propose a simple lock
server process: a client opens a TCP connection to this process, sends the
name of the mailbox it wants to lock, and gets an ACK back. If the client
dies then the TCP connection is dropped and the lock is released. I can see
issues with numbers of filehandles/sockets on the lock server process
itself, so you'd have to tweak kernel parameters on a busy system. Perhaps
you could have a pool of lockserver processes listening on different ports,
and use a hash of the directory name to work out which one to connect to?
More information about the dovecot