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.

Regards,
Graham
--

Reply via email to