Multipart upload for applications using AWS SDK fails with invalid argument Status Code 400
Applies to
- StorageGRID 11.6.x
- Client Application using AWS SDK for Java 2.x
Issue
- After upgrading client application based on AWS SDK to use Java 2.x, multipart upload is failing with:
software.amazon.awssdk.services.s3.model.S3Exception: Invalid Argument (Service: S3, Status Code: 400, Request ID: XXXXX
at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleErrorResponse(AwsXmlPredicatedResponseHandler.java:156)
at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleResponse(AwsXmlPredicatedResponseHandler.java:108)
at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:85)
- In
bycast.log
:
S3 error response: RequestId=xxxxxxxx, TraceId=xxxxxxx, HTTP Method=PUT, HTTP Status Code=400, ErrorMsg=InvalidArgument, ErrorType=Client, CustomErrorMessage={<none>}, Details={Failed to decode data: AWS chunk decoder exception: Dynamic exception type: std::runtime_error#012std::exception::what: Badly formatted aws-chunked header#012}