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

Re: (ITS#4233) gentle shutdowns fail when server has syncrepl clients

--On Wednesday, November 30, 2005 12:31 AM -0800 Quanah Gibson-Mount 
<quanah@stanford.edu> wrote:

> --On Wednesday, November 30, 2005 12:25 AM -0800 Howard Chu
> <hyc@symas.com> wrote:
>> quanah@stanford.edu wrote:
>>> I've noticed that if you initiate a gentlehup shutdown on a syncprovider
>>> with connected clients, it will never stop slapd, while it waits for the
>>> infinate syncrepl search to end...
>>> Nov 29 17:57:39 ldap-dev0.Stanford.EDU slapd[21593]: [ID 199731
>>> local4.debug] slapd gentle shutdown
>>> at
>>> Tue Nov 29 18:03:17 PST 2005
>>> it is still happily doing waiting.
>>> --Quanah
>> That's really the nature of the gentlehup feature - it doesn't force
>> clients to disconnect, it waits for them to disconnect on their own. If
>> you have any clients that never disconnect, then gentlehup will wait
>> forever. If you really want to shutdown the server, don't use gentlehup.
> On the other hand, syncprov is code controlled by OpenLDAP, so I bet it
> could be made intelligent enough to gracefully close out the syncrepl
> threads connected to it too...

On the whole, I have to say that gentle shutdowns really don't work very 
well, at least in my production environment.  Since they only stop incoming 
connections, persistent clients like Apple OS X directory services crud 
will hang on forever too (and even with a 30 second idletimeout, they 
manage to hang on for 20-30 minutes).  I was wondering if a possibility 
that might be more useful is to let existing connections finish their 
current operation (search, write, or whatever), and then disconnect them..


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