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@xxxxxxxxxx> To: "Ken Murchison" <murch@xxxxxxxxxxxxxx> Cc: "Rob Mueller" <robm@xxxxxxxxxxx>; info-cyrus@xxxxxxxxxxxxxxxxxxxx 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. ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html