Skip to content

installer: add retry for transient network errors#2311

Open
adeebshihadeh wants to merge 3 commits intoaxodotdev:mainfrom
adeebshihadeh:add-curl-retry-flags
Open

installer: add retry for transient network errors#2311
adeebshihadeh wants to merge 3 commits intoaxodotdev:mainfrom
adeebshihadeh:add-curl-retry-flags

Conversation

@adeebshihadeh
Copy link
Copy Markdown

Example failure doing a uv install in our openpilot CI.

Also may close #943 if I understand correctly?


from man curl:

       --retry <num>
              If  a transient error is returned when curl tries to perform a trans‐
              fer, it retries this number of times before giving  up.  Setting  the
              number  to  0  makes curl do no retries (which is the default). Tran‐
              sient error means either: a timeout, an FTP 4xx response code  or  an
              HTTP 408, 429, 500, 502, 503 or 504 response code.

@adeebshihadeh adeebshihadeh changed the title installer: add curl retry for transient network errors installer: add retry for transient network errors Feb 28, 2026
@mistydemeo
Copy link
Copy Markdown
Contributor

Thanks! Sorry for the delay reviewing here.

Checking rustup's implementation, they check if the --retry flag is supported by curl - I believe it may be missing in some old versions. rust-lang/rustup#2869 If we want to start using the flag, we'll want to do the same thing here. We'll also want to check into availability of the wget flag, too.

@mistydemeo
Copy link
Copy Markdown
Contributor

It appears that --retry first appeared in 7.12.3 (ca 2004), and --retry-delay first appeared in 7.14.0 (ca 2005). So... it's been around for a long time, but it does seem feasible that some of the more exotic systems people want to use could be missing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add retry for axoupdater fetching

2 participants