-
Notifications
You must be signed in to change notification settings - Fork 101
feat: range aware file write #717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 17 commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
2e54806
feat: add CAS file composition APIs for range writes
XciD 7c602c6
fix: prevent data corruption when two dirty regions produce identical…
XciD 53d8742
refactor: improve code quality in CAS client
XciD 44774c2
fix: correct append, truncation, and hash dedup in upload_ranges
XciD 8da6741
fix: update WASM cleaner for new finalize() signature
XciD 32183f7
refactor: improve code quality from review feedback
XciD 269cb35
refactor: stream boundary data directly to cleaner without buffering
XciD b4984bf
fix: validate dirty_ranges preconditions at runtime, not just debug
XciD e0db8b9
refactor: improve readability and error handling in range_upload
XciD 9f9ce99
fix: read truncation boundary bytes from CAS instead of staging
XciD cf4275d
refactor: replace ReadSeek with per-range AsyncRead in upload_ranges
XciD fc3e41a
fix: clamp CAS prefix/suffix reads to original_size
XciD dee0643
fix: correct already_covered check in assert_range_edit test helper
XciD 840b6e9
chore: merge main, resolve conflicts
XciD 61a3003
fix: adapt to main API changes in tests
XciD 79a1ef3
fix: reject append with uncovered gap beyond original_size
XciD e055a58
fix: use associated function in map_err closure
XciD e9a3232
chore: merge main, resolve conflicts
XciD 78de688
feat: adapt Client::get_file_chunk_hashes to xetcas multi-range API
XciD a9d9cfe
refactor: drop ChunkHashList composition, use MerkleHashSubtree::merge
XciD e4c2b36
refactor(range_upload): cleanup pass
XciD 29c38aa
fix(range_upload): handle mid-edit+append, empty original, empty result
XciD 2b572dc
refactor(range_upload): address PR feedback from seanses
XciD 5657765
feat(range_upload): support resize edits (insert / delete / arbitrary…
XciD d6cb7a9
refactor(file_cleaner): split chunks-returning finish into finish_wit…
XciD 87b9061
fix(range_upload): promote response-shape invariants to runtime errors
XciD a8c8d01
fix(range_upload): error if edits not all assigned to a window
XciD 45f5937
fix(range_upload): consume gap_verification from FileChunkHashesResponse
XciD adb25b1
fix(range_upload): always emit verification section in composed shard
XciD 46e1be3
fix(range_upload): address PR review comments
XciD c41c195
fix(range_upload): avoid orphan window MDB entries in session shard
XciD c180ca6
refactor(cas_types): remove unnecessary serde(default) on gap_verific…
XciD 678609a
refactor(range_upload): extract compose_mdb, remove dead conditional,…
XciD 16022bd
fix(ci): pin WASM nightly to 2026-05-05 to fix wasm-bindgen __heap_ba…
XciD e3cf4de
Revert "fix(ci): pin WASM nightly to 2026-05-05 to fix wasm-bindgen _…
XciD a1c8b19
Merge remote-tracking branch 'origin/main' into feat/file-chunk-hashe…
XciD 954ba6f
refactor(range_upload): address review nits from #717
XciD 2ebcfcc
docs(range_upload): link boundary-case comment to exercising tests
XciD 624ba7c
refactor(file_cleaner): use mut self instead of this in finish_inner
XciD 3fd592e
refactor(file_upload_session): drop unnecessary destructure+rewrap of…
XciD 54e0498
Added stress testing; use of next_stable_chunk_boundary logic (#845)
cbee472
Merge remote-tracking branch 'origin/main' into feat/file-chunk-hashe…
XciD 2f4cee4
Merge remote-tracking branch 'origin/feat/file-chunk-hashes-and-compo…
XciD File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.