AWS SDK C++ PutObject intermittent BadDigest (CRC64NVME) with std::stringstream #3787
-
|
I'm encountering an intermittent checksum mismatch when uploading to S3 using the AWS SDK for C++. Environment:
The Parquet file is written to an Arrow "BufferOutputStream", and the resulting buffer is uploaded to S3. Most uploads succeed, but occasionally I get the following error: BadDigest: The CRC64NVME you specified did not match the calculated checksum If I explicitly set the checksum algorithm to SHA256, I instead get: BadDigest: The SHA256 you specified did not match the calculated checksum So the error changes depending on the algorithm, but the result is always a checksum mismatch. Upload Code Below is the relevant part of my upload logic. I added explicit validation for the stream size and state before sending the request. std::shared_ptrarrow::Buffer buffer; for (int i = 0; i < 3; i++) { } What I've already verified I explicitly verified the following:
I also tried explicitly setting: object_request.SetContentLength(buffer->size()); but the same error still occurs. Checksum Configuration I tried changing the checksum configuration as follows: config.requestChecksumCalculation = Aws::Client::RequestChecksumCalculation::WHEN_REQUIRED; However, I cannot change the WHEN_REQUIRED value within the code. Aws::Client::ClientConfiguration does not have requestChecksumCalculation. Observations
Question Has anyone encountered intermittent checksum mismatches when uploading with "std::stringstream" using the AWS SDK for C++? Could this be related to:
Any insight would be appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
this is a known problem between versions 1.11.621 (August 6, 2025) and 1.11.740 (February 2, 2026), it was fixed with the change #3706. please udpdate your version |
Beta Was this translation helpful? Give feedback.
this is a known problem between versions 1.11.621 (August 6, 2025) and 1.11.740 (February 2, 2026), it was fixed with the change #3706.
please udpdate your version