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
Checksum after CopyObject works differently from aws S3 #17013
Comments
I will see if there is a non-messy way to add this. Seems like we will be forced to add this as a second update to the metadata. |
Just don't set the value in metadata @klauspost it may auto-compute? |
@harshavardhana That is not how it works. For PutObject and Multipart we can set it before we have received the data since it is always provided. If it mismatches the computed value we can just discard the upload completely. On CopyObject, we will have to rewrite it after the copy has completed. We don't know it before that. Also, there is a ton of shortcuts for faster copying and remote copying as well. So there are many paths and it is a very intrusive fix. |
(also copy to same object to update metadata we don't even read the data). |
https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#API_CopyObject_ResponseSyntax
That is the API guarantee. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 15 days if no further activity occurs. Thank you for your contributions. |
We are rewriting I will see when I get around to it. |
@klauspost is this fixed already? |
@harshavardhana No. |
just checking did we fix this already? |
@harshavardhana Nope :) |
Expected Behavior
On aws s3, after calling CopyObject, the checksum of the resulting object is the "real" checksum (eg: the sha256 checksum of the full file).
Current Behavior
On minio, after a CopyObject the checksum stays the same. If the original object was uploaded using multipart upload, then the chekcum of the copy will be the combined checksum of the upload parts.
Steps to Reproduce (for bugs)
ChecksumAlgorithm: ChecksumAlgorithm.SHA256
.ChecksumMode: ChecksumMode.ENABLED
Context
Please see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
Regression
No (at least I don't think so).
Your Environment
Using latest docker image from quay.io/minio/minio
The text was updated successfully, but these errors were encountered: