Hi list,

I'm not sure if that is intended, to me it looks like a bug.
I was trying to figure out if a backend is in use or not so I was looking for the used_cur: echo "show servers conn somebackend_rtmp" | socat stdio /var/run/haproxy.stat # bkname/svname bkid/svid addr port - purge_delay used_cur used_max need_est unsafe_nb safe_nb idle_lim idle_cur idle_per_thr[48] somebackend_rtmp/localhost 615/1 127.0.0.1 50643 - 5000 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I then noticed, that those values doesn't match with what tcpdump says.
I tracked it down to be caused by a reload.
A testcase:
Create a large file with dd or throttle your browsers connection to like modem or something to just keep the connection open
Do a "show servers conn" and make sure used_cur is > 0
Reload HAProxy
Notice it's 0 even though your download / session continues

I tested it with tcp as well as http mode.
I also have "expose-fd listeners" in use, in case it matters.
Affected are at least 2.2.9 as well as 2.3.5.
The stats backend also looses its counter values.

Is this a bug? Can you confirm this behavior? Is there any other way I could figure out whether a backend is currently in use?

--
Regards,
Christian Ruppert

Reply via email to