We are running HAProxy v. 1.5.4 in TCP mode and are running into an issue where down hosts are receiving traffic for a short time after HAProxy is reloaded. This eventually gets sorted out and traffic stops going to these hosts (after the healthcheck fails), however there is a spike in failures before this happens. I was looking through the manual to see if there was an option to deal with this case. The closest thing I found was redispatch, but this seems specific to HTTP proxied traffic to specific hosts. Has anyone ran into this issue before? Any suggestions?
Sorry, I don’t understand what you are trying to say.
Are you saying that you are removing backend servers from the configuration, then reloading haproxy and after the reload the removed backend servers are still getting traffic from haproxy for some time, is that what you are saying?
Haproxy will not kill existing sessions (especially in tcp mode). That would require a restart, not a reload, I’d imagine.
What’s the application your are load-balancing on how does your configuration look like (especially regarding timeouts)?
Sorry for not being more clear, let me try to explain better.
We use puppet to manage our HAProxy config. Any time a new host is provisioned, it is added to haproxy.cfg and the haproxy service is reloaded. Shortly after this reload, we see hosts that are marked DOWN (from the haproxy healthcheck) and previously not getting traffic, start to receive traffic for a short time.