Transfer MPU Validations, Part Size Updates, and passing all request fields to low level request #4096
+2,577
−690
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change cherry picks commits related to s3 transfer manager durability that we want to release. All of the commits (except for number 2 and 4) have been approved already.
At a high level the changes are
2a. This also includes create new AbortMultipartsuploads api in order to ensure we can capture expectedbucketowner, requestpayer fields.
Description
git reset HEAD~and then re-added only the files i needed from this PR.Motivation and Context
This is to ensure we have proper validations in multi part upload and have the recommended part size.
Testing
2a. I tried multi part upload and regular upload for the encryption client.
2b. I tried scenario not specifying part size
2c. I also tried scenario specifying 10MB part size.
https://gist.github.com/GarrettBeatty/05dc6ecd47e063f1ac2e458ac6ed2753 test program
Types of changes
There is one runtime behavior change we are making which is increasing the default part size from 5MB to 8MB. We have decided this is okay because the benefit for customers is it will reduce the number of API calls and 8MB is optimal part size as per s3
Checklist
License