forked from pool/haproxy
1 OBS-URL: https://build.opensuse.org/request/show/239167 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/haproxy?expand=0&rev=7
42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
From ecde57996941ab79f8e3ee5d6114ede49adaaf17 Mon Sep 17 00:00:00 2001
|
|
From: Willy Tarreau <w@1wt.eu>
|
|
Date: Wed, 25 Jun 2014 15:36:04 +0200
|
|
Subject: [PATCH 3/6] BUG/MINOR: counters: do not untrack counters before
|
|
logging
|
|
|
|
Baptiste Assmann reported a corner case in the releasing of stick-counters:
|
|
we release content-aware counters before logging. In the past it was not a
|
|
problem, but since now we can log them it, it prevents one from logging
|
|
their value. Simply switching the log production and the release of the
|
|
counter fixes the issue.
|
|
|
|
This should be backported into 1.5.
|
|
---
|
|
src/proto_http.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/proto_http.c b/src/proto_http.c
|
|
index 5321f7d53e6a..d566bcc819ec 100644
|
|
--- a/src/proto_http.c
|
|
+++ b/src/proto_http.c
|
|
@@ -4808,7 +4808,6 @@ void http_end_txn_clean_session(struct session *s)
|
|
|
|
s->logs.t_close = tv_ms_elapsed(&s->logs.tv_accept, &now);
|
|
session_process_counters(s);
|
|
- session_stop_content_counters(s);
|
|
|
|
if (s->txn.status) {
|
|
int n;
|
|
@@ -4842,6 +4841,8 @@ void http_end_txn_clean_session(struct session *s)
|
|
s->do_log(s);
|
|
}
|
|
|
|
+ /* stop tracking content-based counters */
|
|
+ session_stop_content_counters(s);
|
|
session_update_time_stats(s);
|
|
|
|
s->logs.accept_date = date; /* user-visible date for logging */
|
|
--
|
|
1.8.4.5
|
|
|