Le 21/10/2026 à 10:29 PM, Aleksandar Lazic a écrit :
Hi,

as discussed in the cloudauth RFC thread, here are two patches about
the http_reset filter callback on L7 retries.

The filters documentation says that http_reset is called when the
request is sent again for a L7 retry, but it was only called for the
1xx informational responses, since the L7 retries were added in
a254a37ad ("MEDIUM: streams: Add the ability to retry a request on L7
failure.").

    0001 BUG/MINOR: http-ana: call the http_reset filter callback on L7
         retries

         do_l7_retry() calls it for the response only, once
         sc_reset_endp() succeeded, and before the L7 buffer swap, while
         the failed response is still in the buffer. The request is sent
         again as is, so it is not reset.

    0002 DOC: filters: channel_start_analyze is called again on L7
         retries

         The documentation said that the start and end analyzers are
         called once per stream, which is not true for the response
         after a L7 retry.

I checked it with the trace filter, a 503 retried to a second server:
one http_reset call on the response with the patch, none without it.
The filters, http-messaging, proxy, compression and cache regtests
pass, including the Lua filter ones (lua-retry.vtc). I did not add a
regtest, since the trace filter only writes to stderr.

The first patch could be backported to all stable versions.

Regards,
Aleks

Both merged, thanks !

--
Christopher Faulet



Reply via email to