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

Index param message (Was: Problem with Openldap and BDB - Machine freezes)

>> Aug  5 09:08:42 area51 slapd[2568]: <= bdb_equality_candidates:
>> (uniqueMember) index_param failed (18)
>> Do I need to rewrite something, and in case how?
> The above error message indicates that there is a search filter using
> "uniquemember" being applied to your server, and that that attribute is
> not
> indexed.

I think that error message is __really__ misleading; this question keeps
surfacing every now and then.  By looking at back-bdb/filterindex.c, it
appears that all times bdb_index_param() is called, first its return code
is tested; if it indicates an error, the message "...index_param failed"
is returned.  Then, the value of db, the __real__ return value, is tested,
and, if NULL, the message "... not indexed" is logged.

It appears that in case of no indexing, the logic should be reversed:
return success, with a NULL database, assuming that, if no database could
be found, the key is not indexed.  So bdb_db_cache() should return 0
instead of -1 when "i >= BDB_INDICES", and bdb_index_param() should return
if "rc != LDAP_SUCCESS || db == NULL".


Pierangelo Masarati

    SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497