[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: 2.1.17 performance issues
On Apr 23 at 3:28pm, Howard Chu wrote:
> I frequently see questions about why all of this essential configuration and
> documentation isn't integrated into OpenLDAP. I have answered this before,
> but will repeat myself this once:
>
> The SleepyCat documentation is very well written. Any further effort on our
> part to document BDB's features would be redundant effort, and would require
> continuous redundant effort to maintain as BDB moves forward. We don't have
> time to spend doing this, but you're always welcome to submit new
> documentation for inclusion into the distribution.
I agree that what they have written they have written very well. With
the exception that to find what statements can be put in the DB_CONFIG
file, you have to chase down all the DB_ENV->routine calls to see if
it mentions there is a DB_CONFIG syntax. I'll agree that OpenLDAP
should not be required to document the DB_CONFIG statements since that
is something SleepyCat should do. I will register a complaint with
SleepyCat on that.
> The SleepyCat configuration mechanism is also very well developed. But not
> only is it redundant for us to integrate it into slapd, it is potentially
> dangerous, and my position has been to put as little BDB-specific
> configuration into slapd as possible. The problem is this - the BDB library
> always reads the DB_CONFIG file after all other configuration is done, and
> any settings in the DB_CONFIG file override anything that was set before. So,
> if we were to provide slapd.conf keywords for all of the necessary BDB
> tunables, you may run into situations where your carefully chosen settings
> are completely ignored by the BDB library.
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.
I think the slapd-bdb man page needs an update to indicate which of the
configuration options have equivalent DB_CONFIG options,
specify which DB_CONFIG options one should not be using
because doing so could cause potential problems, and include a pointer
to the sleepycat documentation (for those of us that seem to keep
missing it).
I would be interested to know if it makes any difference to back-bdb if
the checkpoint or dbnosync are specified in the DB_CONFIG file and not
used in the slapd.conf file -- in other words, does back-bdb do anything
with those values other than make the appropriate DB_ENV routine calls?
Since I also want to know if there are any DB_ENV routine calls made
to set configuration options that are automatic and could be clobbered
by DB_CONFIG entries, I guess I'm going to go code diving today.
--
Frank Swasey | http://www.uvm.edu/~fcs
Systems Programmer | Always remember: You are UNIQUE,
University of Vermont | just like everyone else.
=== God Bless Us All ===