Re: [exim] write support for db hash files on TODO?

Top Page
Delete this message
Reply to this message
Author: Adrian Phillips
Date:  
To: exim users
Subject: Re: [exim] write support for db hash files on TODO?
>>>>> "Mike" == Mike Grice <Mike@???> writes:

    Mike> On 27 Aug 2006, at 11:25, Radim Kolar wrote:
    >> Are there any plans to implement write support for .db
    >> (Berkeley db) files?  Exim can read them, but not write.
    >> 
    >> It would be very useful because SQL access is much slower than
    >> simple hash-file and SQL connections have not fast start up.


I'd like to correct (hopefully accurately) a few errors about
(Sleepycat's) Berkeley DB :-

    Mike> 1) To write to a berkeley db, you need to get an exclusive
    Mike> write lock.  This can cause other processes to deadlock
    Mike> while they are waiting.  See any comparable system where
    Mike> contention is high, it can really be a sticking point that
    Mike> brings the whole thing crashing down round you (example:
    Mike> shared SpamAssassin AWL or Bayes DB).  With SQL you can
    Mike> generally implement a table schema that can use row-level
    Mike> locking (such as InnoDB), which would eliminate deadlocks in
    Mike> this way at least.


Well, Berkeley DB has a transactional mode which uses page locking
although I don't know how it works for heavy updates and I'd advise
anyone writing a BDB application with heavy writing to look at
OpenLDAP's experience with it.

    Mike> 3) Berkeley DB doesn't work over NFS.  Period.


Incorrect, see http://dev.sleepycat.com/resources/faq_show.html?id=125

By the way, I'm not advocating using BDB.

Sincerely,

Adrian Phillips

--
Who really wrote the works of William Shakespeare ?
http://www.pbs.org/wgbh/pages/frontline/shakespeare/