On 11/10/2010 10:31 PM, Jim Jagielski wrote: > 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. >
As long as underlying connection filters like mod_ssl do not buffer any buckets that need to used later once we get the connection back from the pool. I know I play devils advocate here :-). Regards Rüdiger