RE: using skiplist for quotas.db

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux