fix(table): route tos:// scheme to ConditionalPutCommitHandler#7824
Conversation
The TOS object store provider (lance-format#7019) supports atomic put-if-not-exists via OpenDAL (translated to `If-None-Match: *`), but commit_handler_from_url was never updated, so tos:// datasets fell through to UnsafeCommitHandler and concurrent writers could silently clobber each other's manifests.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough
ChangesCommit handler routing
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@rust/lance-table/src/io/commit.rs`:
- Around line 1969-1984: Refactor
test_commit_handler_from_url_conditional_put_schemes to use rstest
parameterization instead of the manual URL loop. Add one readable named
#[case::...] entry for each scheme currently covered, and update the test to
receive and validate the case URL while preserving all existing assertions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 0a001364-93a5-4530-9fb3-dd9f038f9d36
📒 Files selected for processing (1)
rust/lance-table/src/io/commit.rs
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
(cherry picked from commit 3bece4e)
The TOS object store provider (#7019) supports atomic put-if-not-exists via OpenDAL (translated to
If-None-Match: *), but commit_handler_from_url was never updated, so tos:// datasets fell through to UnsafeCommitHandler and concurrent writers could silently clobber each other's manifests.Summary by CodeRabbit