You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Headers are calculated before factual sending of file, therefore data has been read 2 times. One time for calculating checksumm and one for factual sending
I suppose original issue is caused by misinterpretation of NOT_SET value. It can be interpreted as explicitly not set and not set just in case, therefore we need to set default value
I propose to add something like ChecksumAlgorithm::DISABLED
which is explicitly disables checksum calculation
Yes, this is a known issue and something we are trying to figure out how to address. Related ticket is #2933.
In short, with the release of additional checksums for S3 in 1.9.x, checksums were made required by default on put, so either old md5 checksum or the new additional checksum must be present. ChecksumAlgorithm::NOT_SET adds some confusion, as it does not mean that no checksum should be used, it means that additional checksum is not set and SDK should fallback to md5.
With that said, all additional checksums are calculated as body is streamed and are sent in the trailer, so the body will only be read once.
This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.
Describe the bug
Even if
Aws::S3::Model::ChecksumAlgorithm::NOT_SET
SDK rewrites it to MD5
https://github.com/aws/aws-sdk-cpp/blob/main/generated/src/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp#L329
It leads to checksum calculation which is passed in the header
content-md5: aOEJ8PQMpyoV4FzCJ4b45g==
full log from curl :
Headers are calculated before factual sending of file, therefore data has been read 2 times. One time for calculating checksumm and one for factual sending
Related issue was considered as bug there
#711
Expected Behavior
I should have possibility to disable twice data readings caused by checksum calculations
Current Behavior
Checksum calculation is passed in the header and is calculated before request
content-md5: aOEJ8PQMpyoV4FzCJ4b45g==
full log from curl :
Headers are calculated before factual sending of file, therefore data has been read 2 times. One for calculating checksumm, one for factual sending
Reproduction Steps
Standard example from aws sdk with ChecksumAlgorithm::NOT_SET
Possible Solution
Doesn't rewrite checksum algorythm as MD5 when is passed as ChecksumAlgorithm::NOT_SET
Additional Information/Context
No response
AWS CPP SDK version used
1.9.310
Compiler and Version used
GCC/11.4.1
Operating System and version
Oracle Linux 9
The text was updated successfully, but these errors were encountered: