Quanah Gibson-Mount <quanah@stanford.edu> wrote:
--On Tuesday, November 15, 2005 10:54 AM -0800 Rik Herrin
wrote:
OpenLDAP 2.3 *automatically* recovers the database. By running
db_recover
manually in addition to the slapd startup doing it, you are likely
corrupting your database.
Please keep replies to the list.
Actually, I ran db_recover after stopping slapd and after I noticed that
slapcat was trying to recover the database but entering an infinite loop
instead. Since I know the db directories, should I try to replace
slapd_db_revover2.3 with db_recover in ldap2.3 instead of is
slapd_db_recover2.3 of any use?
The point here is, you should not be running db_recover at all. OpenLDAP
2.3.11 does this for you automatically anytime the database needs it. I
suggest you don't use any instance of db_recover at all. It sounds like
slapcat might have a bug in how it recovers the database after you ran
db_recover manually.
If I shouldn't be running it manually, does this mean that it's a bug in
slapd (OpenLDAP v2.3)? It was slapd that went into an infinite loop and
could not recover. Or it is a problem with my version of BDB? When I
saw that slapcat2.3 seemed to hang when recovering the database (after
I'd shut down slapd), I decided to use db_recover (I wasn't aware of
slapd2.3_db_recover, which seems to be made for OpenLDAP v2.3.
In any case, just stop using any form of db_recover. It isn't
necessary in the majority of use cases. And you really shouldn't
db_recover before running slapcat.
I ran slapcat first and when it hung on opening the db, I closed it
and ran db_recover. Just out of curiosity, what would you have done
given this situation? Would running slap2.3_db_recover been a better
choice as slapd did not automatically recover? Thanks for your time...