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

Re: Slapd (OpenLDAP v2.3.11) Hangs Using 100% CPU Upon Start Up

Quanah Gibson-Mount <quanah@stanford.edu> wrote: 

--On Tuesday, November 15, 2005 11:16 AM -0800 Rik Herrin 

> Quanah Gibson-Mount  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.

That's sadly not something I can easily answer based on your configuration. 
I wouldn't be using RedHat's version of BDB. ;)
Quanah,  do you think it's better if I compiled BDB by hand since I can't seem to get a hold of Buchan's BDB package?  If so, should I compile 4.2.52 or the later 4.3 (I know from a previous thread that you can't disable logging on 4.3 which is why under heavy loads 4.2.52 might be a better choice but I don't think I'll be running into such heavy loads).  Should I stick to your compilation notes over at: http://www.stanford.edu/services/directory/openldap/configuration/bdb-build-42.html or are they out-dated?   
  >   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...

Likely the slapd2.3_db_recover would have been better.  It is fairly hard 
to say at this point, as you really got into a very odd situation.
 Do you think that slapd_db_recover 2.3i s made to work better with 4.3 dbs or to work irrespecfive of the BDB backend.  From what happened in my case, I was thinking of switching the 2 in the initialization script so that db_recover is called before slapd_db_recover so that my LDAP server doesn't hang in the case of database recovery.
 Thanks for your time.

Quanah Gibson-Mount
Principal Software Developer
ITSS/Shared Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html

 Yahoo! FareChase - Search multiple travel sites in one click.