From 5863d33fce702c46b77c07d4ea82e036b11417a6 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 18 Nov 2024 22:37:52 +0100 Subject: [PATCH] BUG/MINOR: http_ana: Report -1 for %Tr for invalid response only The server response time is erroneously reported as -1 when it is intercepted by HAProxy. As stated in the documentation, the server response time is reported as -1 when the last response header was never seen. It happens when a server timeout is triggered before the server managed to process the request. It also happens if the response is invalid. This may be reported by the mux during the response parsing, but also by the HTTP analyzers. However, in this last case, the response time must only be reported as -1 on 502. This patch must be backported to all stable versions. It should fix the issue #2384. --- src/http_ana.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/http_ana.c b/src/http_ana.c index cda464240..95b146ce3 100644 --- a/src/http_ana.c +++ b/src/http_ana.c @@ -1991,6 +1991,7 @@ int http_process_res_common(struct stream *s, struct channel *rep, int an_bit, s goto return_prx_err; return_bad_res: + s->logs.t_data = -1; /* was not a valid response */ txn->status = 502; stream_inc_http_fail_ctr(s); _HA_ATOMIC_INC(&s->be->be_counters.failed_resp); @@ -2006,7 +2007,6 @@ int http_process_res_common(struct stream *s, struct channel *rep, int an_bit, s /* fall through */ return_prx_cond: - s->logs.t_data = -1; /* was not a valid response */ s->scb->flags |= SC_FL_NOLINGER; http_set_term_flags(s);