Init scritps timeout

Bojan Smojver bojan at rexursive.com
Tue Apr 18 03:44:09 UTC 2006


Federico <simon3z <at> yahoo.com> writes:

> Yesterday my server had a power failure and the ldap database got corrupted.
> The weird thing is that the corruption caused the ldap init script to hang and
> it stopped the server boot. Today I corrupted the database on purpose to
> reproduce the problem but it's not happening anymore.
> Beside all the precautions (ups, raid, journaled filesystems, etc...) and
> beside the fact it probably was a really particoular database corruption,
> shouldn't the init scripts have a timeout? If any of the scripts hangs the
> whole boot process stops. Isn't this a really dangerous behaviour?

Bumped into this one myself. Really annoying. You probably have BDB as you LDAP
back end, just like me. And BDB is scary when it comes to uncommitted
transactions or any other type of problem you may have present in your database.
Although probably not entirely correct, in order to avoid this hang, I have this
in /etc/sysconfig/ldap:

su - -s /bin/bash ldap -c /usr/sbin/slapd_db_recover

If the database is OK, nothing happens. If it is screwed, the recover process
gets it to the state where slapd actually starts. Usually, it even works
properly :-)

Word of warning: I do dump my LDAP database regularly, so I know that even if
db_recover stuffs up my database, I can go back. Unless you're doing something
similar, I suggest you read more about what db_recover does before implementing
this workaround.

--
Bojan




More information about the fedora-devel-list mailing list