]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: checks: ignore late resets after valid responses
authorWilly Tarreau <w@1wt.eu>
Sun, 30 Dec 2012 00:44:24 +0000 (01:44 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 30 Dec 2012 00:44:24 +0000 (01:44 +0100)
commitc5c61fcf453adf396a21308be373f499b7953a05
tree7ad87a78abf38ffd4b0ed65a947493342442bb06
parent9568d7108f339830f28d665ece1e2b161380b6b5
BUG/MEDIUM: checks: ignore late resets after valid responses

Reinout Verkerk from Trilex reported an issue with servers recently
flapping after an haproxy upgrade. Haproxy checks a simple agent
returning an HTTP response. The issue is that if the request packet
is lost but the simple agent responds before reading the HTTP request
and closes, the server will emit a TCP RST once the request finally
reaches it.

The way checks have been ported to use connections makes the error
flag show up as a failure after the success, reporting a stupid case
where the server is said to be down with a correct response.

In order to fix this, let's ignore the connection's error flag if a
successful check has already been reported. Reinout could verify that
a patched server did not exhibit the problem anymore.
src/checks.c