Description
Description
Sending more than one (sometimes two or three) requests using fetch
results in DNS errors.
I get UND_ERR_CONNECT_TIMEOUT
errors which is related to IPv6 issues in node.
Related issue for node: nodejs/node#41625,
Related issue for node fetch: nodejs/undic#1531
Related issue for GitHub runners not being able to do IPv6: #668, actions/runner#3138
Platforms affected
- Azure DevOps
- GitHub Actions - Standard Runners
- GitHub Actions - Larger Runners
Runner images affected
- Ubuntu 20.04
- Ubuntu 22.04
- macOS 11
- macOS 12
- macOS 13
- macOS 13 Arm64
- macOS 14
- macOS 14 Arm64
- Windows Server 2019
- Windows Server 2022
Image version and build link
Failed build: https://github.com/undergroundwires/node-fetch-ipv6/actions/runs/8350276298
Is it regression?
Yes, successful build runs are old
Expected behavior
The requests are being sent fine, this was the case before.
Actual behavior
I created a repository to reproduce this in as minimal way as possible:
https://github.com/undergroundwires/node-fetch-ipv6
I run fetch on using vite test runner on node and without any test runner. I get same results.
I realize that the first two requests are successful, I start getting the error after the second or third one.
See the test: test file
Second test (multiple fetch in order) fails, and all run fine locally. I run tests on default GitHub runners using both latest node 20 and 18. I get same errors:
Repro steps
- Run the job from undergroundwires/node-fetch-ipv6
- Check output