]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: counters: do not untrack counters before logging
authorWilly Tarreau <w@1wt.eu>
Wed, 25 Jun 2014 13:36:04 +0000 (15:36 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 25 Jun 2014 13:36:04 +0000 (15:36 +0200)
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

index 5321f7d53e6a9a76b356941cd9ef1b64289ea0db..d566bcc819ec87f9e8143ba13d2287e57eb10c65 100644 (file)
@@ -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 */