Handle older S3 packages for operations that require MD5 or checksums #3642
+30
−2
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.
Fixes #3641
Description
In the
ChecksumUtils
class (the component responsible for calculating the request checksums), I added some logic to handle newerCore
packages + olderS3
packages, however I only checked the multi-part upload scenario (which I knew it was going to break).However, the approach I chose (to skip checksums entirely) breaks other use cases, such as
DeleteObjects
which will fail if there's noContent-MD5 OR x-amz-checksum-*
headers in the request.This PR expands the workaround we have (which has already been removed from V4), to use MD5 when needed.
Testing
DRY_RUN-198ffecc-a108-4f13-92a1-87e14c9238ab
Core
andS3
before the data integrity changes:Types of changes
Checklist
License