Re: /bzr/squid3/trunk/ r9532: Regression Fix: Bug 2586: Memory leaks on reconfigure

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Tue, 24 Feb 2009 09:24:48 -0700

On 02/23/2009 05:28 PM, Amos Jeffries wrote:
>> ------------------------------------------------------------
>> revno: 9532
>> committer: Christos Tsantilas <chtsanti_at_users.sourceforge.net>
>> branch nick: TRUNK
>> timestamp: Tue 2009-02-24 01:18:23 +0200
>> message:
>> Regression Fix: Bug 2586: Memory leaks on reconfigure
>>
>> The patch is not correct. Some of the objects freed here can be in use
>> during reconfigure.
>>
>
> Sigh, another design flaw in the current config handling.
>
> Exactly how are they in use, and which ones?
>
> NP: reconfigure and shutdown both call the free-up after all client
> connections are supposed to be dead. And all non-memory management
> components are already shutdown.
> 'reconfigure' global is available for selective preservation during
> reconfigure.
>
I do not know whether the objects in scope of the patch are incorrectly
maintained during the reconfigure, but it is possible that the patch
would be correct if object maintenance is fixed.

However, the whole idea that you should shutdown everything, delete
virtually everything, and then create and configure "from scratch" is
obsolete, IMO. Making reconfigure nearly identical to restart is
simpler, but it is just not good enough for busy proxies.

At this point, I do not know whether we should invest cycles in fixing
leaks under the "from scratch" model or focus on migrating to "live"
reconfiguration. Perhaps the answer is the "reconfigure" global you
mentioned. This is something that should be discussed.

Thank you,

Alex.
Received on Tue Feb 24 2009 - 16:24:57 MST

This archive was generated by hypermail 2.2.0 : Wed Feb 25 2009 - 12:00:03 MST