using skiplist for quotas.db
Kjetil Torgrim Homme
kjetilho at ifi.uio.no
Fri Jan 19 09:42:26 EST 2007
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