Skip to content

ref(rs-client): Use anonymous files for compressed resumable uploads - #746

Draft
lcian wants to merge 4 commits into
lcian/feat/rust-automatic-resumable-uploadsfrom
lcian/ref/resumable-positional-file-reads
Draft

lcian wants to merge 4 commits into
lcian/feat/rust-automatic-resumable-uploadsfrom
lcian/ref/resumable-positional-file-reads

Conversation

@lcian

@lcian lcian commented Oct 30, 2026

Copy link
Copy Markdown
Member

Compressed resumable uploads now spool to anonymous temporary files and read each retry at explicit offsets. This avoids leaving named spool files behind after a process crash and lets an earlier HTTP request finish reading without affecting a retry's position.

Stacked on #700. Reads run on Tokio's blocking pool in 4 KiB chunks, using Unix positional reads or Windows seek_read. Each chunk is zero-initialized and converted to Bytes without copying its contents. Source-path uploads continue opening independent readers.

Regression coverage checks overlapping readers, cancellation with a pending read, and premature EOF. Client tests pass with all features and with default features disabled on macOS; the Windows implementation has not been exercised on Windows.

@github-actions

Copy link
Copy Markdown

Semver Impact of This PR

This PR lands in these workspaces:

  • clients/rust: 🟢 Patch (bug fixes)
📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Other Changes

  • Use anonymous files for compressed resumable uploads by lcian in #746

🤖 This preview updates automatically when you update the PR.

@codecov

codecov Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.80%. Comparing base (5c27eb2) to head (8b985e7).

Additional details and impacted files
@@                               Coverage Diff                               @@
##           lcian/feat/rust-automatic-resumable-uploads     #746      +/-   ##
===============================================================================
+ Coverage                                        91.79%   91.80%   +0.01%     
===============================================================================
  Files                                              118      118              
  Lines                                            22427    22469      +42     
===============================================================================
+ Hits                                             20586    20628      +42     
  Misses                                            1841     1841              
Components Coverage Δ
Rust Backend 94.80% <ø> (ø)
Rust Client 87.76% <100.00%> (+0.27%) ⬆️
Python Client 93.88% <ø> (ø)

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant