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

RE: 2.1.17 performance issues

--On Thursday, April 24, 2003 10:33 AM -0400 Frank Swasey <Frank.Swasey@uvm.edu> wrote:

Today at 9:15am, John Madden wrote:

> Not only is it dangerous, but since it is UNDOCUMENTED which DB_CONFIG
> statements override slapd configuration options, it is bound to happen
> that someone is going to use checkpoint in their slapd.conf file and
> also have it in their DB_CONFIG file.  The dbnosync option is going to
> cause a similar problem.  It will be commented out in either slapd.conf
> or DB_CONFIG but not both and someone is going to think it's off when
> they don't remember to check both places and get a rude surprise.

No Berkeley config options "override" slapd config options.  BDB is a
completely separate entity -- imagine you were using back-sql -- you
wouldn't expect slapd to have anything to do with your SQL backend, would

Given this paradigm, I imagine that dbnosync has no effect on filesystem
syncing with back-bdb unless BDB has hooks to allow client applications
to request an fsync.  ...Others can confirm that one.

I'm sorry John, but you're just plain wrong. Setting dbnosync in the slapd.conf file causes back-bdb to invoke the DB_ENV->set_flags() routine to disable syncing after every transaction. If you don't set it in the slapd.conf file (or have it commented out), but have "set_flags DB_TXN_NOSYNC" in your DB_CONFIG file, you have turned off syncing.

From the DB_ENV->set_flags page:

"Because the DB_CONFIG file is read when the database environment is
opened, it will silently overrule configuration done before that time."

My suggestion would be:

Set it in one place, or the other, but not both. Then you don't have to worry about it.
I set it in DB_CONFIG, and have no entry for it at all in my slapd.conf file.


Quanah Gibson-Mount
Senior Systems Administrator
ITSS/TSS/Computing Systems
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html