[Date Prev][Date Next]
Re: (ITS#4233) gentle shutdowns fail when server has syncrepl clients
--On Wednesday, November 30, 2005 12:31 AM -0800 Quanah Gibson-Mount
> --On Wednesday, November 30, 2005 12:25 AM -0800 Howard Chu
> <email@example.com> wrote:
>> firstname.lastname@example.org 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: [ID 199731
>>> local4.debug] slapd gentle shutdown
>>> Tue Nov 29 18:03:17 PST 2005
>>> it is still happily doing waiting.
>> 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..
Principal Software Developer
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html