murder and autocreate (I know it is not supported)

Andrew Morgan morgan at
Thu Jun 18 15:36:07 EDT 2009

On Thu, 18 Jun 2009, Greg A. Woods wrote:

> Not having a built-in basic way for Cyrus to automatically create
> mailboxes for valid users is also a poor design.  Several good
> well-tested patches to enable this feature had been available for a very
> long time (years?) before the "murder" feature was added in the first
> place, and I have a firm conviction that if the autocreate feature had
> been added to Cyrus when it was first made available then the design of
> the clustering mechanisms would have supported it properly from the
> beginning too.  I'm not even sure I understand the difficulty with it
> now -- if the cluster front-end knows how to direct a user access to the
> appropriate backend, then so can it direct an initial delivery for
> mailbox creation.

When the mailbox already exists, the murder frontend looks up which 
backend contains the mailbox and proxies requests to it.

In the case of new mailbox creation, something must decide which 
backend/partition to use.  However, the frontends don't even know which 
backends/partitions exist.  Nothing in the cyrus configuration on the 
frontend lists the available backends/partitions.  The mailboxes.db file 
contains a list of backends/partitions, in a way, because it lists all 
mailboxes.  Here is an example entry:

user.morgan     1!default morgan lrswipcda

This says that my mailbox exists on the backend 
"" in the "default" partition.

I suppose the frontend could generate a list of all backends and 
partitions from the mailboxes.db, but when you add a new backend or 
partition, it wouldn't exist there either.  I'm trying to think of a way 
the frontend could determine which backends/partitions exist, but I don't 
think it can currently.

Let's assume it could though...  How would it pick which backend/partition 
to create the mailbox on?  At random?


More information about the Info-cyrus mailing list