Spool object-store parts to scratch before decoding - #88
Open
harshil-goel wants to merge 2 commits into
Open
Conversation
serprex
approved these changes
Aug 18, 2026
harshil-goel
force-pushed
the
kevin/s3-bootstrap
branch
from
August 19, 2026 09:32
7478377 to
a8b0103
Compare
collect waited for all 118 parts before anyone read a result, so a part that died at the 60s reqwest body deadline stayed invisible for the 47 minutes the rest took to drain. try_collect returns on the first error and drops the stream, cancelling the parts still in flight. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The tar pump read straight off the live S3 body, so request lifetime tracked how fast the sink drained rather than how fast the object downloaded. walrus caps a request at 60s and a 700-800MB part takes longer than that to clear the batcher, so the body died mid-part and took the whole bootstrap with it. Drain the part to the caller's scratch root first, then decode from the file. The GET now completes at network speed. Bytes are spooled still compressed, so scratch tracks object size, and the file is unlinked right after writing so no error path can leak it. Costs parallelism x part_size of disk, which is a reason to keep object_store_parallelism low on large parts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
harshil-goel
force-pushed
the
kevin/s3-bootstrap
branch
from
August 19, 2026 14:13
a8b0103 to
3a3f4ff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.