-
Story
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
None
In the Docker transport, when both:
- fetching a blob fails using one of a specific (limited, clearly enumerated) errors ("connection reset", "unexpected EOF")
- Probably: we have actually fetched some data using that connection, it's not an immediate EOF (1 kb? 1 MB?)
transparently make a range request GET to fetch the remaining data, resuming the fetch, without surfacing the failure to the generic copy code (which could, at best, start pulling the blob from the start again).
That should improve the likelihood of pulls succeeding when the network is flaky enough that a simple GET of the large blob is fairly likely to fail.