Uh oh!
There was an error while loading. Please reload this page.
net: add autoSelectFamily option - #44731
Conversation
nodejs-github-bot
commented
Sep 20, 2022
Review requested:
|
5a35dae to
8e79310Compare
mcollina
left a comment
There was a problem hiding this comment.
Can you please add a test for HTTPs too?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
8e79310 to
c301ed9Comparemcollina
commented
Sep 20, 2022
@nodejs/tsc this is a notable change that we should land before v18 goes LTS. We have seen quite a few reports of bugs due to improper configuration of IPv6, making #41625 a necessity. For example, Docker on Mac only exposes ports on the IPv4 address, making all connections to |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Trott
commented
Sep 21, 2022
No comment (yet at least) one way or the other on the implementation, but +1000 to implementing happy eyeballs in Node.js. |
richardlau
commented
Sep 21, 2022
The two new tests fail for me (Linux x64) and also in GitHub actions. Details |
ShogunPanda
commented
Sep 21, 2022
Acknowledged! |
Same goes for me as well. |
617860b to
b1c7de5Compare
aduh95
left a comment
There was a problem hiding this comment.
Can we add test for dnsPromises.Resolver as well?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
@nodejs/tsc
|
Trott
commented
Sep 26, 2022
I'm going to rebase and force push to at least get the tarball job working. |
mcollina
commented
Sep 27, 2022
My case is that we should make it enabled by default. This causes so many headaches to newbie developers that know little of IPv4 vs IPv6 and why localhost is two IPs. We should make this change before v18 goes LTS. |
| [IPC]: #ipc-support | ||
| [Identifying paths for IPC connections]: #identifying-paths-for-ipc-connections | ||
| [RFC 8305]: https://www.rfc-editor.org/rfc/rfc8305.txt |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| [IPC]: #ipc-support | ||
| [Identifying paths for IPC connections]: #identifying-paths-for-ipc-connections | ||
| [RFC 8305]: https://www.rfc-editor.org/rfc/rfc8305.txt |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This PR loosely implements section 5 of RFC 8305 (Happy Eyeballs algorithm).
A new option
autoSelectFamilyis added tonet.connect.When set to a positive number (or
true), the lookup phase will keep all records by settingall=true.A connection attempt will be tried to all AAAA and A records (alternating families), in sequence, giving each connection
autoSelectFamilymilliseconds to be established.Errors are raised only if no connection succeeded.
Fixes#41625.