Skip to content

S3 Perf (38.3.1.15): Test that staging fails when a stored file's read fails partway through - #1133

Merged
CleanCut merged 1 commit into
mainfrom
cleancut/s3-perf-38.3.1.15
Oct 30, 2026
Merged

CleanCut merged 1 commit into
mainfrom
cleancut/s3-perf-38.3.1.15

Conversation

@CleanCut

Copy link
Copy Markdown
Collaborator

This is a test-only change.

Test that inspecting a version file in an S3 store fails with the store's error when a read fails partway through the file, rather than inspecting it as a file with no metadata. The in-process S3 test server gets a switch that refuses every ranged read not starting at an object's first byte, and the S3 formats test turns it on to inspect a Parquet file whose footer Polars reads past the first fetch.

ENG-2356

…d fails partway through

_This is a test-only change._

Test that inspecting a version file in an S3 store fails with the store's error when a read fails
partway through the file, rather than inspecting it as a file with no metadata. The in-process S3
test server gets a switch that refuses every ranged read not starting at an object's first byte,
and the S3 formats test turns it on to inspect a Parquet file whose footer Polars reads past the
first fetch.

ENG-2356
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

📝 Summary

Summary by CodeRabbit

  • Tests
    • Expanded coverage for cloud storage reads that fail when requesting data from the middle of a file, including checks that inspection reports the resulting error.

The S3 test fixture can now reject ranged reads that start after byte zero. The inspection helper returns errors to its callers, and the format-read test checks that a refused read is returned as an inspection error.

Changes: S3 ranged-read error handling

Layer / File(s) Summary
Configurable ranged-read refusal
crates/liboxen/src/storage/s3.rs
The test server can reject ranged reads that start after byte zero. Fixture setup exposes the refusal switch, and other tests disable it.
Inspection error propagation
crates/liboxen/src/storage/s3.rs
The inspection helper returns a Result. The format-read test checks the error from a refused Parquet read, and other callers handle inspection success or failure.

Priority: Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: Minimal · up to 1e96a

No merge-blocking risk was identified in this test-only change.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly identifies an S3 test for failure when a stored file read fails partway through. It matches the main changeset.
Description check Passed The description accurately explains the test-only S3 change, the ranged-read failure behavior, and the expected inspection error.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@CleanCut
CleanCut merged commit 8376f4c into main Oct 30, 2026
9 checks passed
@CleanCut
CleanCut deleted the cleancut/s3-perf-38.3.1.15 branch October 30, 2026 17:04
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