httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: memory leak in 2.2.x balancer?
Date Tue, 27 Nov 2007 21:09:55 GMT

On Nov 27, 2007, at 10:16 AM, jean-frederic clere wrote:

> Jeff Trawick wrote:
>> On Nov 27, 2007 8:47 AM, Plüm, Rüdiger, VF-Group
>> <ruediger.pluem@vodafone.com> wrote:
>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Jeff Trawick
>>>> Gesendet: Dienstag, 27. November 2007 14:21
>>>> An: dev@httpd.apache.org
>>>> Betreff: memory leak in 2.2.x balancer?
>>>>
>>>> looks like a leak to me; what do you think?
>>>>
>>>> Index: modules/proxy/mod_proxy_balancer.c
>>>> ===================================================================
>>>> --- modules/proxy/mod_proxy_balancer.c  (revision 598305)
>>>> +++ modules/proxy/mod_proxy_balancer.c  (working copy)
>>>> @@ -654,7 +654,7 @@
>>>>          const char *val;
>>>>          if ((val = apr_table_get(params, "ss"))) {
>>>>              if (strlen(val))
>>>> -                bsel->sticky = apr_pstrdup(conf->pool, val);
>>>> +                bsel->sticky = apr_pstrdup(r->pool, val);
>>>>              else
>>>>                  bsel->sticky = NULL;
>>>>          }
>>>>
>>>> trunk looks much different here.  Does anyone plan to backport the
>>>> larger changes to 2.2.x in the near term, or should we go for this
>>>> tweak?
>>> This is no leak as if it were possible to adjust the balancer  
>>> settings via
>>> the balancer manager their memory would need to be taken from a  
>>> long living
>>> pool or more precise from the shared memory. This is not  
>>> implemented now.
>>> So it makes no sense to adjust the balancer settings via the  
>>> balancer manager.
>>> For this reason this possibility was removed from trunk. So far  
>>> no one has
>>> found the energy to propose a clear backport of this change.
>>> So if someone find the energy soon, fine. If not please leave  
>>> everything as it
>>> is as we face segfaults otherwise.
>>
>> Thanks for the explanation.  I'll try to find time to find a patch to
>> remove this misfeature from the 2.2.x branch.
>>
>
> The only thing that can be changed is what is stored in the scoreboard
> the rest may work (threaded only) or won't work (prefork).
>

well, what happens is that it's not universal among all balancers
and so depending on which process (and therefore which threads
in worker) gets the request, it could be operating under
different conditions :)

It's too much work with the existing 2.2 architecture to fix
this, but it is viable for 2.4->
Mime
View raw message