benroeder opened a new pull request, #7212:
URL: https://github.com/apache/opendal/pull/7212

   ## Summary
   - Fixes #7211
   - Replace `oio::OneShotWriter` with `oio::MultipartWriter` backed by Swift's 
Static Large Object (SLO) API
   - `initiate_part()` generates a local UUID (no server call needed, unlike S3)
   - `write_part()` uploads segments to 
`.segments/{path}/{upload_id}/{part_number:08}`
   - `complete_part()` PUTs a JSON manifest to `{path}?multipart-manifest=put`
   - `abort_part()` lists and deletes orphaned segments
   - Small writes still go through `write_once()` as a single PUT — 
`oio::MultipartWriter` handles the decision automatically
   - Supports concurrent part uploads via `args.concurrent()`
   - Adds `uuid` dependency for upload ID generation
   
   Reference: 
https://docs.openstack.org/swift/latest/overview_large_objects.html
   
   ## Test plan
   - `test_writer_write`, `test_writer_write_with_overwrite`, 
`test_writer_write_with_concurrent`, `test_writer_sink`, `test_writer_abort` 
and other writer tests now execute
   - All 93 behavior tests pass against both local SAIO and a real Swift cluster


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to