https://bugs.openldap.org/show_bug.cgi?id=9431
Issue ID: 9431 Summary: back-mdb: Always have an equality index for objectClass Product: OpenLDAP Version: 2.5 Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: --- Component: backends Assignee: bugs@openldap.org Reporter: quanah@openldap.org Target Milestone: ---
Data storage backends require an equality index on objectClass to function correctly. As this is a hard requirement it should be automatic with back-mdb. Why this wasn't done in the past with other backends isn't exactly clear, it may have been due to their requirements to have additional cache layers. That however is not necessary with back-mdb.
https://bugs.openldap.org/show_bug.cgi?id=9431
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.5.1
https://bugs.openldap.org/show_bug.cgi?id=9431
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.5.1 |2.5.3
https://bugs.openldap.org/show_bug.cgi?id=9431
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.5.3 |2.6.0 Severity|normal |enhancement
https://bugs.openldap.org/show_bug.cgi?id=9431
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.6.0 |2.7.0
https://bugs.openldap.org/show_bug.cgi?id=9431
Howard Chu hyc@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|bugs@openldap.org |hyc@openldap.org
https://bugs.openldap.org/show_bug.cgi?id=9431
--- Comment #1 from Howard Chu hyc@openldap.org --- We can set back-mdb to always configure this index itself on startup. But should we still allow it to be explicitly configured by the admin? Currently, configuring a redundant index triggers an error.
Also, should it be visible in the config LDIF, or an invisible default? Should it be possible to delete the index setting?
Do we need to detect if the setting exists but the actual index hasn't been created yet? Or just assume that DBs have been properly reloaded when migrating from 2.6 to 2.7?
I think the simplest approach for now is to check if the index was set in db_open, after all configuration has been completed, and then set it if it's missing, before the rest of db_open finishes. That means if an admin explicitly deletes it from their config, it will silently be added back again on next restart.
https://bugs.openldap.org/show_bug.cgi?id=9431
Howard Chu hyc@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |IN_PROGRESS
--- Comment #2 from Howard Chu hyc@openldap.org --- https://git.openldap.org/openldap/openldap/-/merge_requests/851
https://bugs.openldap.org/show_bug.cgi?id=9431
--- Comment #3 from Ondřej Kuzník ondra@mistotebe.net --- Following up on a conversation elsewhere: we should just ignore all configuration of the objectclass index and always maintain an eq index and only that one for it?
https://bugs.openldap.org/show_bug.cgi?id=9431
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|IN_PROGRESS |RESOLVED Resolution|--- |TEST
--- Comment #4 from Quanah Gibson-Mount quanah@openldap.org --- • 9a2fe3e6 by Howard Chu at 2026-04-10T19:03:43+00:00 ITS#9431: slapd-mdb: always configure eq index for objectClass