> Finally it failed on the CI on all but one instance :-) > > https://github.com/haproxy/haproxy/actions/runs/14065686272/job/39387465537 > > It's only balance-hash-maxqueue that fails, not the other one. So I'll > mark it as "broken" with a comment saying that it tends to work locally > but not on the CI. This way we keep the principle needed to test it and > can even run it locally without polluting the centralized tests.
For what it is worth, `nbthread` seems to help at least on my machine: with `nbthread 1`, I now get 100% success rate with properly serving the response to `c1b`. Since the issue in the CI log is that `c1b` timed out while doing `rxresp`, this *might* actually make it work. Either way, keeping it disabled sounds good to me as well. Thank you for merging the patch! diff --git a/reg-tests/balance/balance-hash-maxqueue.vtc b/reg-tests/balance/balance-hash-maxqueue.vtc index 7bbcaef20..e0a9ec978 100644 --- a/reg-tests/balance/balance-hash-maxqueue.vtc +++ b/reg-tests/balance/balance-hash-maxqueue.vtc @@ -37,9 +37,16 @@ server s1 { barrier b_c2_is_done sync txresp + + # Respond to c1b + rxreq + txresp } -start haproxy h1 -arg "-L A" -conf { + global + nbthread 1 + defaults mode http timeout server "${HAPROXY_TEST_TIMEOUT-5s}" @@ -51,6 +58,7 @@ haproxy h1 -arg "-L A" -conf { balance uri hash-preserve-affinity maxqueue hash-type consistent + http-reuse always http-response set-header Server %s @@ -73,6 +81,8 @@ client c1b -connect ${h1_px_sock} { txreq -url "/test-url" barrier b_has_txed_c1b sync rxresp + expect resp.status == 200 + expect resp.http.Server ~ s1 } -start barrier b_has_txed_c1b sync @@ -86,4 +96,5 @@ client c2 -connect ${h1_px_sock} { expect resp.http.Server ~ s0 } -run -client c1a -wait \ No newline at end of file +client c1a -wait +client c1b -wait