haproxy/reg-tests/connection/http_reuse_aggressive.vtc
Willy Tarreau 48d5ef363d REGTESTS: restrict execution to a single thread group
When threads are enabled and running on a machine with multiple CCX
or multiple nodes, thread groups are now enabled since 3.3-dev2, causing
load-balancing algorithms to randomly fail due to incoming connections
spreading over multiple groups and using different load balancing indexes.

Let's just force "thread-groups 1" into all configs when threads are
enabled to avoid this.
2025-06-30 18:54:35 +02:00

52 lines
1019 B
Plaintext

varnishtest "Test the http-reuse aggressive mode"
feature ignore_unknown_macro
haproxy h1 -conf {
global
.if feature(THREAD)
thread-groups 1
.endif
defaults
timeout client 30s
timeout server 30s
timeout connect 30s
mode http
listen sender
bind "fd@${feS}"
http-reuse aggressive
server srv ${h1_feR_addr}:${h1_feR_port}
listen receiver
bind "fd@${feR}"
http-request return status 200
http-after-response set-header http_first_request %[http_first_req]
} -start
# bootstrap
client c1 -connect ${h1_feS_sock} {
txreq
rxresp
expect resp.http.http_first_request == "1"
} -run
# first request should not be reused as no safe connection for the moment
client c2 -connect ${h1_feS_sock} {
txreq
rxresp
expect resp.http.http_first_request == "1"
txreq
rxresp
expect resp.http.http_first_request == "0"
} -run
# first request must be reused with the safe connection
client c3 -connect ${h1_feS_sock} {
txreq
rxresp
expect resp.http.http_first_request == "0"
} -run