-
Notifications
You must be signed in to change notification settings - Fork 867
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
Port Add stream upload (multi-part upload) #2147
Conversation
* feat: Implement multi-part upload Co-authored-by: Raphael Taylor-Davies <r.taylordavies@googlemail.com> * chore: simplify local file implementation * chore: Remove pin-project * feat: make cleanup_upload() top-level * docs: Add some docs for upload * chore: fix linting issue * fix: rename to put_multipart * feat: Implement multi-part upload for GCP * fix: Get GCS test to pass * chore: remove more upload language * fix: Add guard to test so we don't run with fake gcs server * chore: small tweaks * fix: apply suggestions from code review Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com> * feat: switch to quick-xml * feat: remove throttle implementation of multipart * fix: rename from cleanup to abort * feat: enforce upload not readable until shutdown * fix: ensure we close files before moving them * chore: fix lint issue Co-authored-by: Raphael Taylor-Davies <r.taylordavies@googlemail.com> Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>
8d9aff7
to
5875b13
Compare
Codecov Report
@@ Coverage Diff @@
## master #2147 +/- ##
==========================================
- Coverage 82.86% 82.42% -0.44%
==========================================
Files 237 238 +1
Lines 61429 61963 +534
==========================================
+ Hits 50902 51074 +172
- Misses 10527 10889 +362
Help us with your feedback. Take ten seconds to tell us how you rate us. |
I am hopeful once the action checks run on this repo this PR will be ready for review |
@wjones127 and @tustvold this is now ready for review |
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.
Thank you for moving this over!
Benchmark runs are scheduled for baseline = aeb2776 and contender = 19fd885. 19fd885 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Draft until I have ported over the integration tests for the object_store crate: #2148
Which issue does this PR close?
Re #2030
Rationale for this change
Multipart upload support was added to the object store in influxdata/object_store_rs#20
by @wjones127 and @tustvold after the snapshot that was donated to the ASF in #2081.
What changes are included in this PR?
Cherry-pick code from influxdata/object_store_rs#20 to this repo
Specifically, what I did was
$ git fetch git@github.com:influxdata/object_store_rs.git $ git checkout -b alamb/port-ulti-part-upload $ git cherry-pick fe716c3 # manually resolved some conflicts
Are there any user-facing changes?
mutli-part uploads!