-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[release/8.0.4xx] Containers - Retry on download blob #48987
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
Merged
baronfel
merged 9 commits into
dotnet:release/8.0.4xx
from
surayya-MS:download-blob-retry
Jun 4, 2025
Merged
[release/8.0.4xx] Containers - Retry on download blob #48987
baronfel
merged 9 commits into
dotnet:release/8.0.4xx
from
surayya-MS:download-blob-retry
Jun 4, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
src/Tests/Microsoft.NET.Build.Containers.UnitTests/RegistryTests.cs
Outdated
Show resolved
Hide resolved
src/Containers/Microsoft.NET.Build.Containers/ContainerBuilder.cs
Outdated
Show resolved
Hide resolved
baronfel
approved these changes
May 17, 2025
@marcpopMSFT do you know if it is okay to merge this PR now for July release? or should I wait? |
Branding is done for July, merging now. |
surayya-MS
added a commit
that referenced
this pull request
Jun 24, 2025
… closed" pr by #48987 "Containers - Retry on download blob"
surayya-MS
added a commit
that referenced
this pull request
Jun 24, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #48940
Description/Customer Impact
When building images we often have to pull base image layers from remote sources. These layers can be quite large, and so network interruption can cause the entire build to report failure. Typically we try to retry these operations (e.g. the Copy Task in MSBuild itself), so we should do the same here.
We're forced to use pretty naive retries (operation-level, not chunk-level) because the OCI HTTP API and many popular registries do not support chunked requests well.
Changes made
DownloadBlobAsync
in case of failure from upgraded logging for #595 log url when connection is closed #44953 (too many commits, something goes wrong when try git cherry-pick)Registry.DownloadBlobAsync
by adding a retry mechanismTesting
Added unit test for retry mechanism.
Risk
Low - tests have been added and the mechanism is very simple.