patches since 2.3.12-p2?
Bron Gondwana
brong at fastmail.fm
Mon Jul 21 07:44:39 EDT 2008
On Mon, Jul 21, 2008 at 12:17:14PM +0100, Ian G Batten wrote:
>
> On 19 Jul 08, at 1313, Bron Gondwana wrote:
>>
>> Unfortunately, the cyrus database interface sort of sucks from
>> a consistency perspective, it's dangerous to call any function
>> that needs database access if you have a database transaction
>> open
>
> I understand some of the technical, philosophical and historical reasons
> why this isn't the case, but every now and again I find myself wishing
> that Cyrus had an SQL backend for the various databases (perhaps not
> delivery, because losing it isn't the end of the world, but certainly for
> mailboxes).
>
> In our case, we have really big Oracle and Postgres systems that could
> proably handle the load imposed by out mailsystem metadata as well as
> our mailsystem copes with it itself via skiplist, but we would could
> then manage those databases with the same tools we use for the
> production systems (hot backups, replication, etc).
>
> Losing the mailboxes database can spoil your whole day, and the lengths
> we go to to keep it safe (snapshots of the filesystem, hourly runs of
> ctl_mboxlist -d, etc, etc should really be necessary if it were in a
> production SQL database.
>
> In my copious spare time, I might take a pass at the cope and see how
> hard it looks.
Muahahahahaha.
Erhum.
Actually, the interface itself isn't that bad.
Managing transactions might give you headaches though.
And connections would probably be per-imapd process, so be prepared to
have 4k connections sitting mostly idle or lots of startup/shutdown of
connections.
Bron ( not having done any real C library SQL coding myself, I'd suggest
probably some sort of generic DBI-style layer than a single
database at a time if you go this route )
More information about the Info-cyrus
mailing list