> 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



Reply via email to