apache / apache/opendal

Tracking Issues of RFC-5556: Write Returns Metadata

Open
#5,557 8 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
Dominant language
Rust
Stars
5.4k
Forks
825
Avg merge
1d 14m
Merged PRs (30d)
127

Description

- RFC: https://github.com/apache/opendal/pull/5556

## Tasks

1. https://github.com/apache/opendal/pull/5562
- [x] modify struct `Operator` to return `Result` instead of `Result<()>` for `write` and `write_with` functions
- [x] modify struct `Writer` to return `Result` instead of `Result<()>` for the close() function
- [x] modify `oio::Write` trait to return `Result` instead of `Result<()>` for the close() function
- [x] modify `oio::MultipartWrite` trait to return `Result` instead of `Result<()>` for the `complete_part()` and `write_once` functions
- [x] add behavior tests
- [x] implement the logic for some services
- [x] s3
- [x] fs
- [x] monoiofs
7. implement the logic of returning metadata after writing for other services: #5693

Contributor guide

Open the contributing guide

Research direction

Start by reading RFC #5556, PR #5562, and issue #5693 to identify the remaining storage services and their existing write implementations. Compare those paths with the completed S3, fs, and monoiofs work and the behavior tests; done means the remaining services return write metadata consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.