Problem
When bodyReader detects a connection drop mid-download (io.ErrUnexpectedEOF,
ECONNRESET), it reconnects to the same source using an HTTP Range request
to resume from the current offset. If that reconnect also fails, the download
fails
Context
The blob-level mirror fallback added in #845 handles failures at the
initial GetBlob request level, before any data flows. bodyReader handles
failures after data has started flowing.
This was pointed out during review of #845: #845 (review)
[There is a question whether bodyReader should also trigger a fallback to a different mirror… I think that would better be a different PR, and it might not even be necessary — OTOH there it might be worth just thinking a bit about what the code structure to enable that would look like.]
Problem
When
bodyReaderdetects a connection drop mid-download (io.ErrUnexpectedEOF,ECONNRESET), it reconnects to the same source using an HTTP Range requestto resume from the current offset. If that reconnect also fails, the download
fails
Context
The blob-level mirror fallback added in #845 handles failures at the
initial
GetBlobrequest level, before any data flows.bodyReaderhandlesfailures after data has started flowing.
This was pointed out during review of #845: #845 (review)