[ 
https://issues.apache.org/jira/browse/HDDS-14760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Huang Kuan Hao reassigned HDDS-14760:
-------------------------------------

    Assignee: Huang Kuan Hao

> 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
>            Assignee: Huang Kuan Hao
>            Priority: Blocker
>
> 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