[squid-dev] [PATCH] convert DNS shutdown to runner
Alex Rousskov
rousskov at measurement-factory.com
Mon Oct 3 00:29:50 UTC 2016
On 10/02/2016 06:35 AM, Amos Jeffries wrote:
> This patch adds a Runner to manage the DNS component state on shutdown
> (and the matching reconfigure port closures). The actions taken on
> reconfigure and shutdown are not changed, just their timing.
> + RunRegisteredHere(RegisteredRunner::startReconfigure);
> +
> // Initiate asynchronous closing sequence
> serverConnectionsClose();
> icpClosePorts();
> #if USE_HTCP
> htcpClosePorts();
> #endif
> - Dns::Shutdown();
Have you checked that serverConnectionsClose(), icpClosePorts(), and
htcpClosePorts() (and the processing they trigger) can live without DNS?
I am not saying they cannot. I am just asking whether we are just hoping
that they can or reasonably certain that they can. Either way, please
reflect the answer in the commit message.
> Visible differences are now that Squid logs when DNS ports are being
> closed (and the reason)
> + debugs(78, DBG_IMPORTANT, reason << ": Closing DNS sockets");
IMHO, there is nothing important about it. Reconfiguration and shutting
down is already logged. The [changing] details of that long process are
not important [to admins]. I suggest changing the debug level to 2, but
I cannot not insist on it -- cache.log is already filled with noise.
> + debugs(78, DBG_IMPORTANT, reason << ": Closing DNS sockets");
Same here.
> + /// Meant for halting any active modules that could be triggered by external
> + /// events (such as listening ports) while changing their configuration.
I suggest something a lot more general, like "Meant for modules that
need to prepare for their configuration being changed [outside their
control]. The changes end with the syncConfig() event."
All of the above can be adjusted during commit IMO.
Thank you,
Alex.
More information about the squid-dev
mailing list