mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-03 20:39:41 -05:00
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.
68 lines
1.6 KiB
Text
68 lines
1.6 KiB
Text
varnishtest "A successful unsafe method (POST for instance) on a cached entry must disable it."
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
server s1 {
|
|
rxreq
|
|
expect req.url == "/cached"
|
|
txresp -hdr "Cache-Control: max-age=5" \
|
|
-bodylen 150
|
|
|
|
rxreq
|
|
expect req.url == "/cached"
|
|
expect req.method == "POST"
|
|
txresp
|
|
|
|
rxreq
|
|
expect req.url == "/cached"
|
|
txresp -hdr "Cache-Control: max-age=5" \
|
|
-bodylen 100
|
|
|
|
} -start
|
|
|
|
haproxy h1 -conf {
|
|
global
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
frontend fe
|
|
bind "fd@${fe}"
|
|
default_backend test
|
|
|
|
backend test
|
|
http-request cache-use my_cache
|
|
server www ${s1_addr}:${s1_port}
|
|
http-response cache-store my_cache
|
|
http-response set-header X-Cache-Hit %[res.cache_hit]
|
|
|
|
cache my_cache
|
|
total-max-size 3
|
|
max-age 20
|
|
max-object-size 3072
|
|
} -start
|
|
|
|
|
|
client c1 -connect ${h1_fe_sock} {
|
|
txreq -url "/cached"
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.bodylen == 150
|
|
|
|
txreq -method "POST" -url "/cached" -bodylen 100
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.http.X-Cache-Hit == 0
|
|
|
|
txreq -url "/cached"
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.bodylen == 100
|
|
expect resp.http.X-Cache-Hit == 0
|
|
} -run
|