BUG/MEDIUM: connection: Never cleanup server lists when freeing private conns
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 19 Oct 2020 14:49:29 +0000 (16:49 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 19 Oct 2020 15:19:10 +0000 (17:19 +0200)
commit96ddc8ab43bfbf9a317041e5d13168ea1c8edfc0
tree467fd3ac74e815ad3d33a36a95b7bdc686a68838
parent69a7b8fc6c14a3901d0b24a926fe7ac93deb5d7b
BUG/MEDIUM: connection: Never cleanup server lists when freeing private conns

When a connection is released, depending on its state, it may be detached from
the session and it may be removed from the server lists. The first case may
happen for private or unsharable active connections. The second one should only
be performed for idle or available connections. We never try to remove a
connection from the server list if it is attached to a session. But it is also
important to never try to remove a private connecion from the server lists, even
if it is not attached to a session. Otherwise, the curr_used_conn server counter
is decremented once too often.

This bug was introduced by the commit 04a24c5ea ("MINOR: connection: don't check
priv flag on free"). It is related to the issue #881. It only affects the 2.3,
no backport is needed.
include/haproxy/connection.h