Using chunked encoding and setting x-amz-sdk-checksum-algorithm: CRC32 makes PutObject reject the upload with The provided 'x-amz-checksum' header does not match what was computed.
Expected Behavior
It should be possible to use chunked encoding with x-amz-sdk-checksum-algorithm specified.
It works on S3.
Disabling chunked encoding on the SDK client fixes it.
Current Behavior
We get an exception The provided 'x-amz-checksum' header does not match what was computed.
Possible Solution
AI-generated hypothesis:
MinIO appears to validate the x-amz-checksum-crc32 header value by computing CRC32 over the raw chunked wire bytes (which include the chunk-size lines 7\r\n, 0\r\n, etc.) rather than over the decoded object content bytes. This produces a different CRC32 value, causing the rejection.
Steps to Reproduce (for bugs)
Clone reproducer in Java at https://github.com/cbornet/silo-checksumtype-reproducer
git clone https://github.com/cbornet/silo-checksumtype-reproducer.git
cd silo-checksumtype-reproducer
Run tests:
Context
I want to use CRC32 checksums with the Java SDK which enables chunked encoding by default.
Regression
No
Your Environment
- Version used (
silo --version): RELEASE.2026-08-06
- Server setup and configuration: see unit test
- Operating System and version (
uname -a): Darwin Christophe-Bornet-GTHPGYWQFR 24.6.0 Darwin Kernel Version 24.6.0: Tue Jul 21 20:50:11 PDT 2026; root:xnu-11417.140.69.711.44~1/RELEASE_ARM64_T6041 arm64
Using chunked encoding and setting
x-amz-sdk-checksum-algorithm: CRC32makesPutObjectreject the upload withThe provided 'x-amz-checksum' header does not match what was computed.Expected Behavior
It should be possible to use chunked encoding with
x-amz-sdk-checksum-algorithmspecified.It works on S3.
Disabling chunked encoding on the SDK client fixes it.
Current Behavior
We get an exception
The provided 'x-amz-checksum' header does not match what was computed.Possible Solution
AI-generated hypothesis:
Steps to Reproduce (for bugs)
Clone reproducer in Java at https://github.com/cbornet/silo-checksumtype-reproducer
Run tests:
Context
I want to use CRC32 checksums with the Java SDK which enables chunked encoding by default.
Regression
No
Your Environment
silo --version): RELEASE.2026-08-06uname -a):Darwin Christophe-Bornet-GTHPGYWQFR 24.6.0 Darwin Kernel Version 24.6.0: Tue Jul 21 20:50:11 PDT 2026; root:xnu-11417.140.69.711.44~1/RELEASE_ARM64_T6041 arm64