[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: time limit on non-idle connections?
On Tue, 8 Mar 2005, Quanah Gibson-Mount wrote:
>--On Tuesday, March 08, 2005 4:14 PM -0600 Eric Irrgang
><erici@motown.cc.utexas.edu> wrote:
>
>> I'd like to shut down my individual load-balanced ldap servers gently so
>> that well-behaved users don't see errors by getting kicked off, but it
>> seems that there are some evil clients creating persistent connections by
>> reissuing a SRCH base="" scope=0 deref=0 filter="(objectClass=*)" just
>> under the idletimeout. The only other time limit I see that I can
>> configure is timelimit which, according to the man page, specifies the
>> "maximum number of seconds (in real time) slapd will spend answering a
>> search request"
>>
>> Is there a way with OpenLDAP 2.2.23 to enable gentlehup and still be able
>> to guarantee that the server will eventually close all connections and
>> shut down one way or the other?
>
>All clients I've seen exhibiting this behavior will just reconnect to the
>load-balance name without ill effect, if you have them set up to speak to a
>load balance name and not a specific server.
So are you suggesting not using gentlehup at all? I figured that the
bothersome clients would reconnect without error. I'm concerned that
whatever action I take to disconnect them will also cause errors on the
shorter-lived simpler connections, like Perl or shell backends to web
sites or whatever.
Logically, if you wait (timelimit + idletimeout) after issuing a HUP and
then issue a INT if the server is still running, you shouldn't kick off
any non-persistent connections, right? Unless there's some nifty
slapd.conf parameter I'm missing, my approach is going to be something like
i=0
kill -HUP $PID
while ps -fp $PID >/dev/null; do
if [ $i -eq $TIMELIMIT ] ; then
kill -INT $PID
fi
i=`expr $i + 1`
sleep 1
done
-- Eric Irrgang - UT Austin ITS Unix
Systems - (512)475-9342