Re: [EXIM] Locking of the alias dbm files?

Top Page
Delete this message
Reply to this message
Author: Nigel Metheringham
Date:  
To: D.M.Chapman
CC: exim-users
Subject: Re: [EXIM] Locking of the alias dbm files?

D.M.Chapman@??? said:
} I am a little worried that exim could get confused if it happens to
} access the database after we have replaced the .dir file but not the
} corresponding .pag file. Are we worrying over nothing? Is there a way
} to perform some sort of file locking on these files that exim will
} obey? It seems to check its hints database for locks but nothing
} else...

The exim_dbmbuild code does a build of the database into a new file and
then a rename into place. Unfortunately (old style) dbm files use 2
files, so there is a small race condition during the update. Locking
*could* be done, but is problematic.

I solve this by using a single file db system - Berkeley db, GNU dbm or
Dan Bernstein's cdb (we actually use cdb for several other reasons). Then
you have atomic updates. If you have *busy* mail machines, and lots of
file lookups, and an OS which support MMAP (most do), then the cdb code in
exim IMHO is *very* good for fast lookups. You do need a compile time
option to enable it, but we run all our systems on cdb exclusively (other
than the hints databases for which it is unsuitable).

    Nigel.
-- 
[ Nigel.Metheringham@???   -  Systems Software Engineer ]
[ Tel : +44 113 207 6112                   Fax : +44 113 234 6065 ]
[      Real life is but a pale imitation of a Dilbert strip       ]




--
*** Exim information can be found at http://www.exim.org/ ***