Re: bugs in squid -k shutdown

From: Andres Kroonmaa <andre@dont-contact.us>
Date: Mon, 16 Oct 2000 17:48:43 +0200

On 16 Oct 2000, at 17:07, Chemolli Francesco (USI) <ChemolliF@GruppoCredit.it> wrote:

> A problem I've often found (with SQUID-2.4NTLM) is that
> on squid -k shutdown, not always squid shuts down.

 This same issue is present in 2.3 too.

> When a shutdown-request is received, squid immediately
> closes all service FDs (DNS, authenticators, redirectors,
> everything) BUT it keeps HTTP connections alive to finish
> servicing active request.
> Mix with keep-alive and BAMF! a new request comes in,
> squid tries to DNS-lookup or authenticate and here's a
> shiny new fatal error. Squid dies horribly, and is restarted
> by the parent process.
>
> I'm trying to fix it by moving all the Shutdown()
> calls in the main loop save for serverConnectionsClose()
> to SquidShutdown, but this might be a suboptimal solution
> (if it's a solution at all).

 Perhaps you want to move *dnsShutdown() there? We don't
 want to accept new connections any more.

> Anybody having the same experience?

 yes.

> Any hints on how to better solve this?

 without looking at the code at all, I'd suggest making sure that
 no persistent conn requests can get through after -k shutdown, ie,
 all pending requests are finished with following client FD close.
 This should remove the reason for DNS lookups further on. Some
 could get through if they are between accepted and DNS start state,
 this could be the reason why the issue is seen only on busy caches.

 Or, postpone shutdown of DNS sockets until shutdown_lifetime expires,
 as you have suggested.

------------------------------------
 Andres Kroonmaa <andre@online.ee>
 Delfi Online
 Tel: 6501 731, Fax: 6501 708
 Pärnu mnt. 158, Tallinn,
 11317 Estonia
Received on Mon Oct 16 2000 - 09:52:38 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:43 MST