]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h2: try to wait for the peer to read the GOAWAY
authorWilly Tarreau <w@1wt.eu>
Fri, 8 Nov 2024 09:02:47 +0000 (10:02 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 8 Nov 2024 13:31:07 +0000 (14:31 +0100)
commit3ed936168842e8120940cf821843b876bd70dadf
treec1ada0ab6975bf628682fab6e6246e16adff3b37
parent75b302d123506c3da949d64936a9450ad8666230
BUG/MEDIUM: mux-h2: try to wait for the peer to read the GOAWAY

When timeout http-keep-alive is very short (e.g. 10ms), it's possible
sometimes for a client to face truncated responses due to an early
close that happens while the system is still pushing the last data,
colliding with the client's WINDOW_UPDATEs that trigger RSTs.

Here we're trying to do better: first we send a GOAWAY on timeout, then
we wait up to clientfin/client timeout for the peer to react so that we
don't immediately close. This is sufficient to avoid truncation as soon
as the timeout is more than a few hundred ms.

It's not certain it should be backported, because it's a bit sensistive
and might possibly fall into certain edge cases.
src/mux_h2.c