Double check: the condition in the do-while loop that was chaned to a while loop has also changed:

FROM

do { ... }
while ((bytes_read < MAX_MEM_SPOOL - 80)
       && !APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))
       && !req->prefetch_nonblocking);

TO

while (((bytes_read < MAX_MEM_SPOOL - 80)
           && (APR_BRIGADE_EMPTY(input_brigade)
|| !APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade)))) { ... }

That's intended?

Regards,

Rainer

Am 29.10.2019 um 16:23 schrieb Rainer Jung:
Am 29.10.2019 um 16:19 schrieb Yann Ylavic:
Hi Rainer,

thanks for looking at this.


Aha, and this is due to the fact, that r1656259 "mod_proxy_http: don't
connect or reuse backend before prefetching request body." or parts of
it was backported from trunk to 2.4 as part of r1860166.

Yes, that's where prefetch was moved before connect, but we shouldn't
change that IMHO, besides fixing bugs...

Let me look at how we can reuse the input_brigade between balancers. I
have a small patch already and testing it.


So I think (not yet verified), that the same problems applies to trunk
since r1656259 in February 2015 :(

Yes, I'm fixing on trunk (first).

Thank you Yann. Let me know when I should test something. It's OK, if it is not yet the final fix ;)

Regards,

Rainer

Reply via email to