tree 59b6fca76d2c0c979a3ece72410cac4dafff888b
parent cad2ff2789dc39694245322b77ad74011b2653f0
author Willy Tarreau <w@1wt.eu> 1645472640 +0100
committer Christopher Faulet <cfaulet@haproxy.com> 1645795492 +0100

REGTESTS: fix the race conditions in 40be_2srv_odd_health_checks

This one started to randomly fail on me again and I could figure the
problem. It mixes one checked server with one unchecked on in each
backend, and tries to make sure that each checked server receives
exactly one request. But that doesn't work and is entirely time-
dependent because if the check starts before the client, a pure
TCP check is sent to the server, which sees an aborted connection
and makes the whole check fail.

Here what is done is that we make sure that only the second server
and not the first one is checked. The traffic is delivered to all
first servers, and each HTTP server must always receive a valid HTTP
request. In parallel, checks must not fail as they're delivered to
dummy servers. The check doesn't fail anymore, even when started on
a single thread at nice +5 while 8 processes are fighting on the same
core to inject HTTP traffic at 25 Gbps, which used to systematically
make it fail previously.

Since it took more than one hour to fix the "expect" line for the stats
output, I did it using a small script that I pasted into the vtc file
in case it's needed later. The relevance of this test is questionable
once its complexity is factored in. Let's keep it as long as it works
without too much effort.

(cherry picked from commit 3d9266f414abef21f978a4723bf60519be6fa1f4)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit a579c3db4cdc0b7163fd2e41dadeca10ed9e8ff5)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
