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

differences between openldap-1.2.5 and 1.2.9



At some point (approximately) around 1.2.6, there was a change in some
indexing that dramatically increased the time for the following search
to take place.  Also, I note the following with 1.2.9.

Under 1.2.9, the following search,

	% ldapsearch -b uid=1DF,o=my.org 'objectclass=person' dn
	uid=1DF,o=my.org

works, but it takes a long time to finish (several seconds).
The following search finishes very quickly:

	% ldapsearch '(&(uid=1DF)(objectclass=person))'
	uid=1DF,o=my.org

There are only two leafs under uid=1DF,o=my.org.  Why does the first
search take so long?  I have noticed from looking at the code before that
if the base of the search is not the same as the suffix of the directory,
then it is used as the means of selecting candidates for filtering.
My guess before further investigation is that it doesn't know when to
stop, so the rest of the database is searched, even though after the
first two candidates, the DN being tested is no longer under the requested
base.

Can anybody either confirm or refute my theory, or otherwise explain
this performance?

I'm using LDBM with Sleepycat 2.7.7 for the database.
The dirctory suffix is o=my.org.  (Names have been changed to protect
the innocent!)

Randy