I searched the archives of openldap-software and openldap-technical for the terms "hdb index corruption", "hdb index", and "idex" and got zero results.
I have a simple master-slave setup and my indexes are getting corrupted. We have software that ties RDBMS entries with the entryUUID because the DN can change. Of course, we use moddn to avoid changing the entryUUID. So here is the set-up:
old_ldap ----> new_ldap_master ------> new_ldap_slave
We run a cron that scans the old_ldap and updates information on all the records on the new_ldap_master. The information is mostly the same, but the structures of the DIT differ a lot. Ok, so the first cron updates information (attributes) that have changed in the old ldap and updates the ldap master entries. Another cron searches some info in a database and may perform many moddns if people have moved from departments, etc. The new_ldap_slave is just a replica of the first, using the methods described in the docs for MirrorMode replication. All writes AFAIK are always being done in the master.
Anyway, the problem is that the HDB indexes seem to be getting corrupted. That is, if I query for and entryUUID I get a DN and if I query the DN I may get another entryUUID. If I reconstruct the indexes the problem is gone. Has anyone had a similar problem? What may be causing these problems? Is it too many wirtes? Is it common pratice to reconstruct the indexes after the massive updates? Any comments greatly appreciated !
Thanks, -- Alejandro Imass