You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: improve pull resume reliability and progress bar display on retry
- Only accept HTTP 206 as a successful Range response in rangeTransport;
a 200 response means the server ignored the Range header and is sending
from byte 0, so appending it to the partial file would corrupt the blob.
- Preserve .incomplete files on all read errors, not just context
cancellation, so every kind of transient failure (network reset, stream
error, etc.) can be resumed on the next attempt.
- Stop rolling back fully-downloaded layer blobs on Write failure.
Layer blobs are content-addressed and immutable; keeping them lets a
subsequent pull skip already-completed layers entirely instead of
re-downloading them. The manifest, config, and index rollback still
runs to leave the store in a consistent non-indexed state.
- Print a blank line to stdout before each retry so that orphaned
progress bars from the failed attempt are visually separated from the
new attempt's bars, preventing garbled terminal output.
Signed-off-by: Eric Curtin <eric.curtin@docker.com>
0 commit comments