Uploaded image for project: 'Container Tools'
  1. Container Tools
  2. RUN-1636

Resume aborted blob pulls using range requests

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • RUN 230, RUN 232

      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.

              rhn-engineering-mitr Miloslav Trmač
              rhn-engineering-mitr Miloslav Trmač
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: