Ping Liu created HDDS-14760:
-------------------------------

             Summary: When uploading multipart to S3, always get error "You 
must specify at least one part"
                 Key: HDDS-14760
                 URL: https://issues.apache.org/jira/browse/HDDS-14760
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Ping Liu


When uploading using multipart, with S3 C++ sdks, it always report such error:

 

{{SDK Error Type:134, HTTP Status Code:400, S3 Service:'Ozone', Message:'You 
must specify at least one part'.}}

>From the S3 SDK client side, I can see the data has been uploaded, the 
>uploadId, etag etc are all correct. But it still complain with above message.

 

S3 SDK trace:

[DEBUG] 2026-01-27 15:58:48.624 AWSAuthV4Signer [0x16fac7000] Final String to 
sign: AWS4-HMAC-SHA256
20260127T155848Z
20260127/us-east-1/s3/aws4_request
2449ae0f37fa7a05c7652364a3adc34d51a90c0abe2cf9475ccbdef37f3449ab
[DEBUG] 2026-01-27 15:58:48.624 AWSAuthV4Signer [0x16fac7000] Final computed 
signing hash: ba6b6f481de478a5898f4f99d0a791c2d47bbf51c685ee73a3cee556d8561328
[DEBUG] 2026-01-27 15:58:48.624 AWSAuthV4Signer [0x16fac7000] Signing request 
with: AWS4-HMAC-SHA256 Credential=minio/20260127/us-east-1/s3/aws4_request, 
SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-api-version;x-amz-content-sha256;x-amz-date,
 Signature=ba6b6f481de478a5898f4f99d0a791c2d47bbf51c685ee73a3cee556d8561328
[DEBUG] 2026-01-27 15:58:48.624 AWSClient [0x16fac7000] Request Successfully 
signed
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] Making request to 
http://localhost:9878/writedata/test_cursor_1_0_1_34600bb7-0fd0-49c7-a625-7890b203ce8f.parquet?uploadId=019c002d-d0da-79a2-8bc0-2584570e8d60-115967887182266371
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] Including headers:
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] 
amz-sdk-invocation-id: F577145E-D76C-4439-8A17-ABC5CAEDA845
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] amz-sdk-request: 
attempt=1
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] authorization: 
AWS4-HMAC-SHA256 Credential=minio/20260127/us-east-1/s3/aws4_request, 
SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-api-version;x-amz-content-sha256;x-amz-date,
 Signature=ba6b6f481de478a5898f4f99d0a791c2d47bbf51c685ee73a3cee556d8561328
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] content-length: 237
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] content-type: 
application/xml
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] host: 
localhost:9878
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] user-agent: 
aws-sdk-cpp/1.11.654 ua/2.1 api/S3 os/Darwin#24.5.0 lang/c++#C++11 
md/aws-crt#0.34.2 md/arch#arm64 md/Clang#17.0.0 m/D,a,c,P
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] x-amz-api-version: 
2006-03-01
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] 
x-amz-content-sha256: 
14596106933cf8ca64c96061f39f15ed5ada45aae1940c355e966dcb2b07439b
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] x-amz-date: 
20260127T155848Z
[DEBUG] 2026-01-27 15:58:48.624 CurlHandleContainer [0x16fac7000] Attempting to 
acquire curl connection.
[DEBUG] 2026-01-27 15:58:48.624 CurlHandleContainer [0x16fac7000] Connection 
has been released. Continuing.
[DEBUG] 2026-01-27 15:58:48.624 CurlHandleContainer [0x16fac7000] Returning 
connection handle 0x11e017600
[DEBUG] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] Obtained 
connection handle 0x11e017600
[TRACE] 2026-01-27 15:58:48.624 CurlHttpClient [0x16fac7000] Activating CURL 
traces
[DEBUG] 2026-01-27 15:58:48.624 CURL [0x16fac7000] (Text) Found bundle for 
host: 0x600002cdc3c0 [serially]

[DEBUG] 2026-01-27 15:58:48.624 CURL [0x16fac7000] (Text) Can not multiplex, 
even if we wanted to

[DEBUG] 2026-01-27 15:58:48.624 CURL [0x16fac7000] (Text) Re-using existing 
connection with host localhost

[DEBUG] 2026-01-27 15:58:48.624 CURL [0x16fac7000] (HeaderOut) POST 
/writedata/test_cursor_1_0_1_34600bb7-0fd0-49c7-a625-7890b203ce8f.parquet?uploadId=019c002d-d0da-79a2-8bc0-2584570e8d60-115967887182266371
 HTTP/1.1
Host: localhost:9878
Accept: */*
amz-sdk-invocation-id: F577145E-D76C-4439-8A17-ABC5CAEDA845
amz-sdk-request: attempt=1
authorization: AWS4-HMAC-SHA256 
Credential=minio/20260127/us-east-1/s3/aws4_request, 
SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-api-version;x-amz-content-sha256;x-amz-date,
 Signature=ba6b6f481de478a5898f4f99d0a791c2d47bbf51c685ee73a3cee556d8561328
content-length: 237
content-type: application/xml
user-agent: aws-sdk-cpp/1.11.654 ua/2.1 api/S3 os/Darwin#24.5.0 lang/c++#C++11 
md/aws-crt#0.34.2 md/arch#arm64 md/Clang#17.0.0 m/D,a,c,P
x-amz-api-version: 2006-03-01
x-amz-content-sha256: 
14596106933cf8ca64c96061f39f15ed5ada45aae1940c355e966dcb2b07439b
x-amz-date: 20260127T155848Z
Expect: 100-continue


[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) HTTP/1.1 100 
Continue

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] HTTP/1.1 100 
Continue

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) 

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] 

[DEBUG] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Returned http 
response code 100
[TRACE] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (DataOut) 237 bytes
[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (Text) upload completely 
sent off: 237 bytes

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) HTTP/1.1 400 Bad 
Request

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] HTTP/1.1 400 Bad 
Request

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Date: Tue, 27 Jan 
2026 15:58:48 GMT

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Date: Tue, 27 Jan 
2026 15:58:48 GMT

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Cache-Control: 
no-cache

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Cache-Control: 
no-cache

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Expires: Tue, 27 
Jan 2026 15:58:48 GMT

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Expires: Tue, 27 
Jan 2026 15:58:48 GMT

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Pragma: no-cache

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Pragma: no-cache

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Content-Type: 
application/xml

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Content-Type: 
application/xml

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) 
X-Content-Type-Options: nosniff

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] 
X-Content-Type-Options: nosniff

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) X-XSS-Protection: 
1; mode=block

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] X-XSS-Protection: 
1; mode=block

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) X-FRAME-OPTIONS: 
SAMEORIGIN

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] X-FRAME-OPTIONS: 
SAMEORIGIN

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Server: Ozone

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Server: Ozone

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) x-amz-id-2: 
8EPIwx0N0Klhn

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] x-amz-id-2: 
8EPIwx0N0Klhn

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) x-amz-request-id: 
d3f984e8-ed8b-45d8-95ec-fbcad2414d08

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] x-amz-request-id: 
d3f984e8-ed8b-45d8-95ec-fbcad2414d08

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) Content-Length: 
171

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Content-Length: 171

[DEBUG] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (HeaderIn) 

[TRACE] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] 

[DEBUG] 2026-01-27 15:58:48.626 CurlHttpClient [0x16fac7000] Returned http 
response code 400
[TRACE] 2026-01-27 15:58:48.626 CURL [0x16fac7000] (DataIn) 171 bytes
[TRACE] 2026-01-27 15:58:48.627 CurlHttpClient [0x16fac7000] 171 bytes written 
to response.
[DE



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to