-
Notifications
You must be signed in to change notification settings - Fork 838
chore: bump opendal to 0.54.1 #18970
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
Conversation
a068a8f to
69a0d79
Compare
69a0d79 to
4c8ec55
Compare
Docker Image for PR
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
databend/src/common/storage/src/stage.rs
Lines 125 to 134 in f078d6d
| async fn list_files( | |
| &self, | |
| operator: &Operator, | |
| thread_num: usize, | |
| max_files: Option<usize>, | |
| mut files: &[String], | |
| ) -> Result<Vec<StageFileInfo>> { | |
| if let Some(m) = max_files { | |
| files = &files[..m] | |
| } |
In StageFilesInfo::list_files the new async implementation blindly slices the provided file list with files = &files[..m] whenever the caller passes max_files (src/common/storage/src/stage.rs lines 125‑134). If max_files is larger than the number of explicitly enumerated files, this indexing panics with index out of bounds, aborting queries such as COPY INTO ... FILES=('a','b') MAX_FILES=10. The previous blocking implementation iterated and truncated the result without panicking, so this regression makes valid user input crash the server. Please clamp m to files.len() before slicing (e.g. files = &files[..m.min(files.len())]).
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
the bug codex found can be reproduced by: |
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/
Summary
This PR bump OpenDAL to
0.54.1.OpenDAL v0.54 have implemented RFC-6189, which removes all native blocking I/O support.
In the new version, all blocking operations are handled by
block_on, which is a wrapper around the asynchronous core. Consequently, there is no longer a performance benefit to be gained from services that support blocking I/O natively.This PR removes the code branches that checked for
operator.info().native_capability().blockingto select a blocking operation.Tests
Type of change
This change is