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

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



See...

I have two recent chages that may or may not be related to this.

1) a filter componenet was added to filter out entries whose entryCSN is 
larger than the contextCSN.
    Because this filtering is performed in the candidate loop which is 
after the search_candidate 
    construction, It seems unlikely that this caused the reported problem 
in search_candidate.
2) bdb_get_commit() creates (and hence reindex) the contextCSN entry 
(cn=ldapsync,<suffix>)
    if this is a sync search and the first search after the database is 
built without contextCSN.
    The contextCSN will be set to a CSN value obtained at the search time. 

    Because contextCSN indexing is not related to the linkID and 
forwardLink attribute indexing
    it also seems unrelated.

It may help to see the actual content of the component ID list...

- Jong

>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


------------------------
Jong Hyuk Choi
IBM Thomas J. Watson Research Center - Enterprise Linux Group
P. O. Box 218, Yorktown Heights, NY 10598
email: jongchoi@us.ibm.com
(phone) 914-945-3979    (fax) 914-945-4425   TL: 862-3979