On Nov 10, 2010, at 9:25 AM, Graham Leggett wrote:

> On 10 Nov 2010, at 4:13 PM, Plüm, Rüdiger, VF-Group wrote:
> 
>> The core input filter in ap_core_input_filter which is used to read
>> the response from the backend creates the socket bucket from the conn rec
>> bucket allocator. So the used bucket allocator must live as long
>> as the conn rec of the backend connection lives.
>> And the conn rec of the backend connection lives longer then one request
>> and possibly longer than the frontend connection if the backend has keepalive
>> enabled, in fact it is reused by the next frontend request that leases the
>> backend connection from the backend connection pool.
> 
> In that case, the way to fix this would be to insert the frontend conn_rec's 
> allocator into the backend conn_rec when we take it out of the pool, and then 
> remove this allocator again when we're finished and place the connection back 
> into the pool.
> 
> This way, all our buckets would live as long as the frontend allocator, and 
> we would be free to return the backend conn_rec back to the pool at any time.

+1... Seems the only way to address this.


Reply via email to