High availability email server...
morgan at orst.edu
Tue Aug 1 19:02:25 EDT 2006
On Tue, 1 Aug 2006, Daniel Eckl wrote:
> Well, I don't have cluster knowledge, and so of course I simply believe you
> that a good cluster system will never have file locking problems.
> I already stated this below!
> But how will the cluster affect application level database locking? That was
> my primary question and you didn't name this at all.
> A database file which is in use is practically always inconsistent until it's
> being closed by the database application.
> That's why databases can be corrupt after an application crash and have to be
> When you have two applications changing the same database file, you have a
> never ending fight, because every application thinks, the database is
> inconsistent, but it's just in use by another application. And every app will
> try to reconstruct it and so break it for the other app(s).
> It's like letting two cyrus master run on the same single node! It will break
> in my opinion.
> Can you shed some light on this subject?
I think the point here is that the situation you describe already occurs
all the time on a stand-alone Cyrus server. There are multiple imapd
processes accessing the mailboxes.db database concurrently. If you are
using Berkeley DB, it has an API to manage concurrent access. I assume
the same is true of skiplist and the other backend formats. I don't know
enough about the Berkeley DB internals to explain how it actually works,
but it does. :)
More information about the Info-cyrus