new feature: build Fs Accessor within async IO operations
- Dominant language
- Rust
- Stars
- 5.4k
- Forks
- 825
- Avg merge
- 1d 14m
- Merged PRs (30d)
- 127
Description
### Feature Description
I notice when we create an operator for local filesystem, it actually issues sync IO requests.
https://github.com/apache/opendal/blob/b53d802718adf6909c03a336dbb8a6ca1d09113b/core/src/services/fs/backend.rs#L90-L100
While all other operations are async (i.e., read, write, etc), people are likely to use `Operator` in an async runtime, would be better if operation build is also async.
### Problem and Solution
Proposed solution:
- Make operator creation async, essentially use async IO syscalls.
- But it's a breaking behavior and API change, likely we will add another async interface.
### Additional Context
_No response_
### Are you willing to contribute to the development of this feature?
- [x] Yes, I am willing to contribute to the development of this feature.
Contributor guide
Research direction
Start with core/src/services/fs/backend.rs around lines 90-100 and trace how local filesystem operators are created. Determine the async API shape and how it can coexist with the existing interface, then verify that operator creation uses async filesystem calls without breaking current behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100