fix S3 GetObjectAttributes and GetObject to return Checksum if requested#7704
Merged
fix S3 GetObjectAttributes and GetObject to return Checksum if requested#7704
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 PR implements missing behaviour in S3 regarding checksums. It's not implemented yet in moto and a TODO is written about it:
I've implemented the behaviour inside the ASF provider, with multiple AWS validated and snapshotted tests.
As
motodoes not store the computed or given hash in the key, for minimal changes we can compute the hash when it's requested (aka not often). This PR does not implement additional checksum validation (we have some onPutObject), but simply return the object checksum where it was missing.For multipart uploads, I added some AWS validated tests, but we need additional behaviour for this, and it's out of scope of this PR.
Fixes:
Checksumfield toGetObjectAttributesif the object was created with a checksumChecksumfield toGetObjectif the object was created with a checksum andChecksumModeis"ENABLED"Content-Encoding: ''from AWS response and copy behaviourgzipfiles so that tests are reproducibleSee:
\cc @whummer