Hi,

the following haproxy configuration produces different results with
haproxy 2.0.16 (and 1.8.20) vs 2.2.3 running with "haproxy -f
haproxy.conf -d":

global
  stats  socket /tmp/haproxy.sock mode 660 user haproxy group haproxy
level admin

defaults
  mode http

frontend fe-a
  bind :10001
  http-request track-sc0 src table be-a
  http-request track-sc0 src table be-b

backend be-b
  stick-table type ip  size 100k  expire 30s  store
gpc0,http_req_rate(10s),http_err_rate(10s)

backend be-a
  stick-table type ip  size 100k  expire 30s  store
gpc0,http_req_rate(10s),http_err_rate(10s)

With haproxy 2.0.16 (and 1.8.20) only the table be-a gets updated. With
haproxy 2.2.3 both table gets updated. Here the content of the tables
after one call from localhost:

haproxy 2.0.16:
echo "show table be-a; show table be-b" | socat stdio
UNIX-CONNECT:/tmp/haproxy.sock
# table: be-a, type: ip, size:102400, used:1
0x7f248401e340: key=127.0.0.1 use=0 exp=28581 gpc0=0
http_req_rate(10000)=1 http_err_rate(10000)=1

# table: be-b, type: ip, size:102400, used:0


haproxy 2.2.3:
echo "show table be-a; show table be-b" | socat stdio
UNIX-CONNECT:/tmp/haproxy.sock
# table: be-a, type: ip, size:102400, used:1
0x558b9bcbc470: key=127.0.0.1 use=0 exp=20624 gpc0=0
http_req_rate(10000)=1 http_err_rate(10000)=0

# table: be-b, type: ip, size:102400, used:1
0x558b9bcbc540: key=127.0.0.1 use=1 exp=20624 gpc0=0
http_req_rate(10000)=1 http_err_rate(10000)=0


Is this behavior a bug or a feature? And if it is a feature, is there
some documentation somewhere, because there is no change to the
track-sc0 option in the configuration documentation.

Kind regards
Reinhard Vicinus

Reply via email to