Page MenuHomePhabricator

[services][blob] Implement S3 multipart upload
ClosedPublic

Authored by bartek on Nov 18 2022, 9:57 AM.
Tags
None
Referenced Files
F3504819: D5680.diff
Fri, Dec 20, 10:37 AM
Unknown Object (File)
Sun, Dec 15, 5:50 PM
Unknown Object (File)
Sun, Dec 15, 5:50 PM
Unknown Object (File)
Sun, Dec 15, 5:50 PM
Unknown Object (File)
Sun, Dec 15, 5:49 PM
Unknown Object (File)
Sun, Dec 15, 5:29 PM
Unknown Object (File)
Wed, Dec 11, 9:58 PM
Unknown Object (File)
Nov 7 2024, 5:46 AM
Subscribers

Details

Summary

Implememted the MultipartUploadSession methods.
Implementation is based on:

Depends on D5679

Test Plan

Tested by calling these in local sandbox.
They will be tested extensively when the Put gRPC handler is implemented (have it locally, a few diffs ahead)

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

bartek held this revision as a draft.
bartek published this revision for review.Nov 18 2022, 10:42 AM
services/blob/src/s3.rs
132 ↗(On Diff #18590)

We should avoid updating unrelated code in later diffs. If this change is necessary, it should be applied in the initial code.

The code seems to closely follow the official example code, which is good

varun added inline comments.
services/blob/src/s3.rs
89 ↗(On Diff #18590)

do we plan on using this entity tag anywhere?

This revision is now accepted and ready to land.Nov 22 2022, 9:51 AM
services/blob/src/s3.rs
89 ↗(On Diff #18590)

I don't know if it is necessary for uploads to work, but both C++ blob service and AWS example have this set.

132 ↗(On Diff #18590)

Yeah, a formatter thing. I must've missed that.
Such issues should be gone when we have a cargo fmt set in a pre-commit hook (there's a task for that)