-
-
Notifications
You must be signed in to change notification settings - Fork 741
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Retry when downloading/extraction of Node.js tar fails #784
Comments
The source code which attempts to download archive |
Similar request on nvm nvm-sh/nvm#3074 |
I currently don't think a retry is appropriate in the Happy to leave the issue open for a month to see if there are other comments. |
We are using AWS CodeBuild, and we see this error often. I think ~ 5% of builds fail because of it.
Maybe there is something wrong with nodejs cdn, and there are more stable mirrors? |
We also noticed the same, when using As of now, we've added retries as follows as a workaround: for i in {1..5}; do n 18 && break || sleep 15; done It would be helpful if
How about adding retries for specific failures based on reports? |
I've started seeing this exact error on our CI jobs over the last couple of weeks. We've been using the same deployment for years and I've never seen that before. Curious if something changed on node's CDN 🤔 A quick google search says this might be related to conflicting HTTP 1/2 settings on the server https://stackoverflow.com/a/68591734 |
Ah, a known problem due to CDN cache being purged multiple times per day: |
Looking at the above two rejected PRs (#544 #771), it seems like the right choice, since implementing a retry is not a good idea. But Two points to support this:
BTW, another problem with a global Oh, and regardless of node's web changes, we have intermittent issues from time to time due to build hosts running inside a vpn that can be unreliable sometimes. So this problem exists regardless. |
I hadn't noticed curl retry before. Interesting. Using The
|
But since it was interesting to see if they do that, I searched a bit. Didn't find any conclusive answers, but:
So, keeping in mind my opinion above, using a file might be good anyway. And doing that shouldn't be too hard:
And this might simplify more code since stdout is now used as usual. (Handling output is usually what makes me switch to using a temp file with |
The Node.js caching improvements might be fully functional now. Fingers crossed! |
Cloudflare caching for |
Is your feature request related to a problem? Please describe.
Sometimes the downloading of Node.js artifact fails because of some network issue.
In our release CI, we noticed it happening twice on Sep 20th
First occurrence
The second occurrence on retry was similar, but for node v18.18.0
fetch : https://nodejs.org/dist/v18.18.0/node-v18.18.0-linux-x64.tar.xz
Describe the solution you'd like
When fetching the tar of Node.js version fails, add a retry with some delay?
Describe alternatives you've considered
for i in {1..5}; do n 18 && break || sleep 15; done
Additional context
This issue was discussed in the past in #287, but closed as network error didn't appear again for the user
The text was updated successfully, but these errors were encountered: