Hi Zach,

On Fri, Dec 19, 2025 at 12:04:08AM +0000, Zach Pearson wrote:
> During a recent DNS outage, TCP connections from HAProxy to DNS resolvers
> spiked. Even after DNS recovered, connections stayed ~3,000 (normal is ~2).
> Although dns_process_idle_exp should clean up idle sessions, it didn't in
> this state. tcpdump showed the DNS server closing idle connections after
> ~30s, but HAProxy immediately reopened them. Restarting HAProxy was required
> to return to normal connection counts. Setting maxconn on resolvers (also
> could test pulling in this
> patch<https://github.com/haproxy/haproxy/commit/5288b39011b2449bfa896f7932c7702b5a85ee77>)
> mitigates the spike but not the post-recovery persistence.
> 
> Environment
> HAProxy version:
> HAProxy version 2.9.4-9839cb-6 2024/07/31 - https://haproxy.org/
> Status: stable branch - will stop receiving fixes around Q1 2025.
> Known bugs: http://www.haproxy.org/bugs/bugs-2.9.4.html
> Running on: Linux 5.15.173.1-2.cm2 #1 SMP Fri Feb 7 02:18:38 UTC 2025 x86_64

First, congrats for your in-depth analysis. But as you can see above,
this version is long outdated, it has been missing 14 months of fixes
in its branch (roughly 548 patches) and that branch was dropped 9 months
ago. A quick check shows that 64 patches were applied to the DNS code
alone since then, 22 of which were bug fixes. I really don't see the
point in trying to cherry-pick random patches to this dead version, it
could happen to work around the problem by pure luck or break something
else, and in any case nobody will be able to help you set a diagnostic
on the resulting observations. Please try to reproduce the issue with a
maintained version so that it is possible to analyse what's happening
and a fix can be designed if the problem persists.

In addition, please have a look here to see the list of the 353 bugs
(19 major and 140 medium) that still affect the version you're running:

  https://www.haproxy.org/bugs/bugs-2.9.4.html

your service is affected with many cases of possible response truncation
and data corruption on HTTP/1 and HTTP/2 which have long been fixed, it
doesn't make sense to keep such a version in production.

Regards,
willy


Reply via email to