Question about upcoming "asyn-ares: connect async" change in 8.20
Dmitry Karpov via curl-library <[email protected]> Wed, 15 Apr 2026 22:25:08 +0000
| Newsgroups | gmane.comp.web.curl.library |
|---|---|
| Message-ID | <BYAPR01MB560693CFE70F42D7353FC0C1C3222@BYAPR01MB5606.prod.exchangelabs.com> |
Hi All, I have a question about the "asyn-ares: connect async" change (https://github.com/curl/curl/pull/21205) in the upcoming 8.20 release. The PR description says: "This PR updates the async DNS resolver behavior (notably the c-ares backend) to issue separate A and AAAA queries and make partial DNS information available earlier, enabling connection attempts to begin as soon as the first relevant DNS response arrives." I am wondering how this new behavior will affect the Happy Eyeballs for dual-stack? For example, if the A query result is received earlier than the AAAA query one, does it mean that IPv4 connect attempts will start before IPv6 ones? Or IPv4 will still have to wait in this case until the HEB timeout expires? Also, it seems that this change makes it possible to go with a slower IPv4 connection if A response comes faster than AAAA response. Before this change, the dual-stack race was just between connections, and the fastest would win, but now as DNS replies are also part of the "stack" race, it seems possible that a slower stack connection may win if it's DNS reply comes faster. It would be helpful to get some clarifications how the Happy Eyeballs mechanism will work with this change. Thanks, Dmitry Karpov -- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html