Skip to content

Exception retries do not cover mid-stream errors which occur during downloads. #240

@andrewsg

Description

@andrewsg

Retry functionality in the library only covers the initial response. While this is the most common point of failure, some errors, especially Connection Reset by Peer (which usually boils down to requests.ChunkedEncodingError), escape the retry clause because they only appear during the actual streaming/writing to file period. We will need to adjust our control flow so that retry covers both the initial response (receiving/evaluating http headers) and the streaming portion of the download.

With a 16-core GCE VM and multiple processes, I observed this issue about 10 times in 1,000,000 downloads of 0.5-1 GB files.

Metadata

Metadata

Assignees

Labels

api: storageIssues related to the googleapis/google-resumable-media-python API.priority: p2Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions