On 10/17/2008 05:38 PM, Jim Jagielski wrote:
> 
> On Oct 15, 2008, at 6:56 PM, Graham Leggett wrote:
> 
>> Ruediger Pluem wrote:
>>
>>>> Something else to try is to look at the ProxyIOBufferSize parameter.
>>>>
>>>> The proxy reads from the backend in blocks, and as soon as a block is
>>>> not full (ie it's the last block), the proxy will complete and
>>>> terminate
>>>> the backend request before sending the last block on to the client.
>>> No. See below.
>>
>> Oh dear - I know this optimisation is supposed to be there - I wrote it.
>>
>> Picking through the proxy code on v2.2, it looks like the optimisation
>> has been removed for some reason. The logic should flow like this:
>>
> 
> Hmmmm.... I'm not seeing it in trunk.

The code Graham is talking about was introduced by him in r93811 and was
removed in r104602 about 4 years ago. So I am not astonished any longer
that I cannot remember this optimization. It was before my time :-).
This optimization was never in 2.2.x (2.0.x still ships with it).
BTW: This logic flow cannot be restored easily, because due to the current
pool and bucket allocator usage it *must* be ensured that all buckets
are flushed down the chain before we can return the backend connection
to the connection pool. By the time this was removed and in 2.0.x we do
*not* use a connection pool for backend connections.

Regards

RĂ¼diger

Reply via email to