]> git.kaiwu.me - haproxy.git/commitdiff
DOC: filters: channel_start_analyze is called again on L7 retries
authorAleksandar Lazic <al-haproxy@none.at>
Wed, 21 Oct 2026 20:25:34 +0000 (22:25 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 22 Oct 2026 14:58:07 +0000 (16:58 +0200)
The filters documentation says that the flt_start_analyze and
flt_end_analyze analyzers are called only once per stream. On a L7
retry, the response analyzers are set again when the connection is
established, so channel_start_analyze is called a second time on the
response channel, without a channel_end_analyze call in between. It is
preceded by an http_reset call on the response.

Signed-off-by: Aleksandar Lazic <al-haproxy@none.at>
doc/internals/api/filters.txt

index 87898b45dbd63bb4602c6e2725c05a0f41ddf5f5..a4aed16f081e07774530431b4b3af03bc01d71a5 100644 (file)
@@ -1201,7 +1201,10 @@ has been added :
     processing. From the filter point of view, it calls the
     'flt_ops.channel_end_analyze' callback.
 
-These analyzers are called only once per streams.
+These analyzers are called only once per stream, except on a L7 retry: the
+response analyzers are set again when the connection is established, so
+'flt_start_analyze' is called a second time on the response channel, after an
+'http_reset' callback and without any 'flt_end_analyze' call in between.
 
 'flt_ops.channel_start_analyze' and 'flt_ops.channel_end_analyze' callbacks can
 interrupt the stream processing, as 'flt_ops.channel_analyze'. Here is an