[Mailman-Developers] Mailman on a cluster

Barry Warsaw barry at python.org
Wed Jun 7 21:26:48 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 07 Jun 2006 19:59:56 +0100
Ian Eiloart <iane at sussex.ac.uk> wrote:

> I'm looking at running Mailman on a cluster of servers, sharing a
> single disk with Apple XSan.
> 
> I presume that everything done through the web interface must be
> resilient to multiple simultaneous attempts to modify - say - a list
> membership. So, I expect that I can put the list databases on a
> shared file system.

Mailman's locking scheme is NFS-safe, and should be safe on all shared
files systems that support POSIX semantics.  Given this, there should
be no race conditions against the list databases, through any of the
access mechanisms. Just make sure that if you have really huge lists,
your cgi timeouts are set appropriately or your web server could kill
the Mailman cgis while they wait for some other process's list lock to
be released (this is the case even if you weren't clustered).  Make
sure your list lock timeouts are set appropriately too because you
really don't want them getting broken.

> But, what about the queue runners. Is it safe to share the queues
> between servers? If its safe to run multiple queue runners on one
> queue on one machine, then I should be OK - but I'm not sure that
> Mailman does that. If not, then I'm probably safer leaving the queues
> on unshared file systems, and accepting that a some queued items
> won't get processed while a cluster member is unavailable.

This should be safe too.  Mailman uses a sha1 hash space slicing
algorithm to ensure that each qfile is managed by exactly one qrunner
process.  No locking is required as long as you configure your slices
appropriately.  It's still the case though that should a cluster member
go down, that portion of the hash space managed by those qrunners won't
get processed.  It should be fairly easy to reconfigure a backup though
to handle the hash space while the primary is off-line.

- -Barry
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iQCVAwUBRIcoeHEjvBPtnXfVAQKRSwP/ezLkaIFz2DHCxbW4fjqL2BIqlI4NTDcp
kYt0kF+yGOBpVP9lYTrg2trAOZAXvaXPO8NZ0ujbO9ffKgTspKt10f4m+Oma/pm6
TMRRgo1Gp5GkImzYVrWXgywAg5jmXngSLcaxsbKej54pHKwv1uj01kRYNu7jrTJI
RjJiB70mtJA=
=iSah
-----END PGP SIGNATURE-----


More information about the Mailman-Developers mailing list