Why is a transient error in http download_and_extract not retried? #23687
Labels
team-Starlark-Interpreter
Issues involving the Starlark interpreter used by Bazel
type: bug
untriaged
Description of the bug:
Downloading artefects using http_archive, such as the rust_rules do for downloading cargo crates, can sometimes run into issues where it fails to delete a temporary directory because it's not yet empty:
This error seems to originate from
bazel/src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkBaseExternalContext.java
Line 1061 in ce64b1a
Which category does this issue belong to?
Starlark Interpreter
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
Build a rust project with lots of crate dependencies and an output_user_root on a filesystem that does not guarantee atomic delete/unlink visibility.
Which operating system are you running Bazel on?
linux
What is the output of
bazel info release
?release 7.3.1
If
bazel info release
returnsdevelopment version
or(@non-git)
, tell us how you built Bazel.No response
What's the output of
git remote get-url origin; git rev-parse HEAD
?No response
If this is a regression, please try to identify the Bazel commit where the bug was introduced with bazelisk --bisect.
No response
Have you found anything relevant by searching the web?
#20013 seems like the same problem - it just seems to me that exceptions marked TRANSIENT which are to do with cleaning up things like temporary scratch directories should be retried instead of killing the entire build.
Any other information, logs, or outputs that you want to share?
No response
The text was updated successfully, but these errors were encountered: