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

Re: commit: ldap/servers/slapd/back-bdb back-bdb.h cache.c dn2id.c proto-bdb.h



Hmm, I'm seeing a weird issue in recent HEAD back-hdb where
SLAPI internal searches fail to locate any candidates:

=> bdb_back_search
bdb_dn2entry("ou=links,o=linkengine")
search_candidates: base="ou=links,o=linkengine" (0x00000002) scope=2
=> hdb_dn2idl( "ou=links,o=linkengine" )
=> bdb_equality_candidates (objectClass)
=> key_read
<= bdb_index_read: failed (-30991)
<= bdb_equality_candidates: id=0, first=0, last=0
=> bdb_equality_candidates (linkID)
=> key_read
<= bdb_index_read 4 candidates
<= bdb_equality_candidates: id=4, first=7, last=57
=> bdb_equality_candidates (forwardLink)
=> key_read
<= bdb_index_read 2 candidates
<= bdb_equality_candidates: id=2, first=7, last=28
bdb_search_candidates: id=0 first=2 last=0
bdb_search: no candidates

objectClass/linkID/forwardLink are all indexed attributes. The search works
(ie. returns entries) via LDAP. valgrind doesn't show anything suspicious.

If I add another entry that satisfies the search filter, then all entries
are returned:

=> bdb_back_search
bdb_dn2entry("ou=links,o=linkengine")
search_candidates: base="ou=links,o=linkengine" (0x00000002) scope=2
=> hdb_dn2idl( "ou=links,o=linkengine" )
=> bdb_equality_candidates (objectClass)
=> key_read
<= bdb_index_read: failed (-30991)
<= bdb_equality_candidates: id=0, first=0, last=0
=> bdb_equality_candidates (linkID)
=> key_read
<= bdb_index_read 5 candidates
<= bdb_equality_candidates: id=5, first=7, last=59
=> bdb_equality_candidates (forwardLink)
=> key_read
<= bdb_index_read 3 candidates
<= bdb_equality_candidates: id=3, first=7, last=59
bdb_search_candidates: id=2 first=7 last=59

I've tried rebuilding indices with slapindex but to noavail.

Has anything changed recently that would require a change in arguments
to the backend search function?
 
Right now my workaround is to add a new entry after slapd starts!

-- Luke