[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: bdb backend: memp_trickle

Eric Irrgang wrote:

I'm using OpenLDAP 2.2.23 and Berkeley DB 4.3.27.

I haven't read much about people using the hdb back-end and for some
reason had the impression that it was being abandoned. Maybe because
there is no man page on slapd-hdb in the current (2.2.23) release. I
haven't had a chance to read much about it yet or dig through the sources
for the differences in the way the db environment is used in the two

There is no specific manpage for it because there is no difference between it and back-bdb, as far as configuration goes. It is not abandoned but I guess I considered it experimental enough to not warrant any explicit docs. Now that we have people using it in production I guess it should at least get a symlink to slapd-bdb.

In general, back-hdb and back-bdb are identical. The only difference is how the dn2id index is structured, which allows back-hdb to support subtree renames. Of course none of this is relevant to your original question regarding memp_trickle.

I guess I still have the same question for hdb, though. Does it somehow
trickle the in-memory changes out to disk or does it only flush
periodically at a checkpoint or when closing the environment?

Only at checkpoint / close.

I wanted to experiment with hdb, but time constraints have caused me to
stick with what I know a little better until after our project at least
gets its first release out. I just don't know enough about what it does
differently to make guesses as to how to tune it yet or what DB_CONFIG
settings might be relevant.

Since memp_trickle generally is run from a separate thread to be useful, and there was no convenient method for using additional threads when these backends were written, there is no mechanism here to use memp_trickle. I suppose it can be added in 2.3, since we have a convenient method for using other threads now. For 2.2 you can always write your own external process that opens the environment and performs the trickle write, similar to running db_checkpoint.

On Tue, 15 Feb 2005, Quanah Gibson-Mount wrote:

--On Tuesday, February 15, 2005 10:31 AM -0600 Eric Irrgang
<erici@motown.cc.utexas.edu> wrote:

I haven't found any mention of the BDB DB_ENV->memp_trickle method being
utilized or discussed in relation to openldap. Is this something that is
deemed to be not worth pursuing or has it simply not yet been addressed?
Or is it being addressed and my Google skills just aren't up to par?

What version of OpenLDAP are you using?

Have you tried using back-hdb, which is write optimized, but retains the
same read optimizations as BDB?


Quanah Gibson-Mount
Principal Software Developer
ITSS/Shared Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html

 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support