using skiplist for quotas.db
Ken Murchison
murch at andrew.cmu.edu
Fri Jan 19 09:56:28 EST 2007
Or things get mangled and people end up over quota.
(from my Treo)
--
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University
-----Original Message-----
From: "Kjetil Torgrim Homme" <kjetilho at ifi.uio.no>
To: "Ken Murchison" <murch at andrew.cmu.edu>
Cc: "Rob Mueller" <robm at fastmail.fm>; info-cyrus at lists.andrew.cmu.edu
Sent: 1/19/07 9:42 AM
Subject: Re: using skiplist for quotas.db
On Fri, 2007-01-19 at 07:49 -0500, Ken Murchison wrote:
> Rob Mueller wrote:
> > The problem I saw was that accessing a skiplist db involves locking the
> > entire file I believe. This felt like a huge point of contention,
> > especially since every email delivered would lock it. I never did end up
> > trying it out to test that though, so I wouldn't quote me on that, Ken
> > could confirm.
>
> This is true. If you want to use a single database, I would consider
> using BDB (as painful as it sounds), since it does localized locking. I
> don't believe that either choice has been tested thoroughly however.
hmmm.
*reads cyrusdb_skiplist.c*
there's an interesting comment in mycommit about moving the unlock to
before the fsync. that would be a very nice performance hack, but
should preferably be settable per database, e.g. adding a
"skiplist_nosync" to mimic "berkeley_nosync". after all, the quota
database isn't critical information, it's updated from an authoritative
source, anyway.
I'll see if I can muster the courage to try this out. the worst that
can happen is that users don't have any quota limits at all, right? :)
thanks for the input, Rob and Ken.
--
Kjetil T.
More information about the Info-cyrus
mailing list