Skip to content

perf: stream s3 downloads via ranged GetObject request#429

Open
timkambic-ngen wants to merge 1 commit into
UpstreamDataInc:masterfrom
timkambic-ngen:s3-slow-downloads-use-range
Open

perf: stream s3 downloads via ranged GetObject request#429
timkambic-ngen wants to merge 1 commit into
UpstreamDataInc:masterfrom
timkambic-ngen:s3-slow-downloads-use-range

Conversation

@timkambic-ngen

@timkambic-ngen timkambic-ngen commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Currently if the S3 storage backend is used. When a device requests a download chunk(64kb) from goosebit. This chunk is requested from S3 and served to device. This is done via a single request
If device has bad connectivity this download can last longer than some proxies or s3 deployments have configured as a connection timeout. And in this case the connection is dropped. And request for next chunk will fail.

This PR changes the concept. Each chunk is requested separately via new request from S3 using ranged request. And then independently served to device.
This way it is almost impossible for s3 connection to timeout as it is very short lived.

@b-rowan b-rowan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I don't understand most of this, but seems fine. Untested ACK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants