Skip to content

bodyReader: fall back to a different mirror when mid-stream reconnect fails #987

Description

@QiWang19

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.]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions