]> git.kaiwu.me - haproxy.git/commit
MEDIUM: session: implement half-closed timeouts (client-fin and server-fin)
authorWilly Tarreau <w@1wt.eu>
Sat, 10 May 2014 12:30:07 +0000 (14:30 +0200)
committerWilly Tarreau <w@1wt.eu>
Sat, 10 May 2014 13:14:05 +0000 (15:14 +0200)
commit05cdd9655db32bfd6cb9c503f3474390e346903b
tree639eaed384637f0e95844c17f93afc5dba32304f
parent941aac0072af05e1727807759ecfe7c8f70e13d8
MEDIUM: session: implement half-closed timeouts (client-fin and server-fin)

Long-lived sessions are often subject to half-closed sessions resulting in
a lot of sessions appearing in FIN_WAIT state in the system tables, and no
way for haproxy to get rid of them. This typically happens because clients
suddenly disconnect without sending any packet (eg: FIN or RST was lost in
the path), and while the server detects this using an applicative heart
beat, haproxy does not close the connection.

This patch adds two new timeouts : "timeout client-fin" and
"timeout server-fin". The former allows one to override the client-facing
timeout when a FIN has been received or sent. The latter does the same for
server-facing connections, which is less useful.
doc/configuration.txt
include/types/proxy.h
src/proxy.c
src/session.c