Re: openldap service stop cause database corruption

Buchan Milne <[email protected]>
Newsgroups gmane.network.openldap.general
Message-ID <[email protected]>
On Thursday, 8 October 2009 14:07:34 Antonini Gabriele wrote:
> > I don't know about CentOS, but if it's anything like Redhat, the
> > system provided init scripts are very hostile to processes that don't
> > shut down fast enough.
> >
> > The killproc() function will send a TERM, wait 100k microseconds, then
> > send a KILL.
> >
> > You're running a large process on a low-memory machine.  I strongly
> > suspect CentOS isn't giving slapd enough time to shut down properly.
> >
> > Instead of using the system scripts, try sending a plain kill to slapd
> > and timing how long it takes to shut down.  If it's more than 100
> > seconds, you'll either need to add memory (I'd recommend that anyway)
> > or stop using the CentOS init scripts to start and stop OpenLDAP.
>
> I tried modifying stop script adding 30 seconds sleep after killproc but
> the problem remains. Here is the stop script:
>
> function stop() {
>         # Stop daemons.
>         prog=`basename ${slapd}`
>         echo -n $"Stopping $prog: "
>         killproc ${slapd}

Make this:

killproc -d 30 ${slapd}

(and remove the line below)

>         sleep 30
>         RETVAL=$?
>         echo
>         if [ $RETVAL -eq 0 ]; then
>             if grep -q "^replogfile" /etc/openldap/slapd.conf; then
>                 prog=`basename ${slurpd}`
>                 echo -n $"Stopping $prog: "
>                 killproc ${slurpd}
>                 sleep 30
>                 RETVAL=$?
>                 echo
>             fi
>         fi
>         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ldap
> /var/run/slapd.args return $RETVAL
> }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.