[ 
https://issues.apache.org/jira/browse/HDDS-15515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18087702#comment-18087702
 ] 

Huang Kuan Hao commented on HDDS-15515:
---------------------------------------

The CopyObject Content-Type failures turned out to be a symptom of a broader 
gap: the S3 Gateway never persists or returns an object's Content-Type at all 
(PutObject never stores it, GET doesn't set it, HEAD hard-codes 
binary/octet-stream). The copy s3-tests cannot pass without storing it on write 
and returning it on read, so I think the fix necessarily spans PutObject/MPU -> 
GET/HEAD -> CopyObject. Updating the title accordingly. The implementation 
follows the existing ETag-in-key-metadata convention. Thx!

> Support object Content-Type end-to-end in S3 Gateway (store on PutObject, 
> return on GET/HEAD, preserve/replace on CopyObject)
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-15515
>                 URL: https://issues.apache.org/jira/browse/HDDS-15515
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Huang Kuan Hao
>            Assignee: Huang Kuan Hao
>            Priority: Major
>
> When using {{CopyObject}} or {{{}UploadPartCopy{}}}, the {{Content-Type}} is 
> not being handled correctly. Copied objects consistently default to 
> {{{}application/octet-stream{}}}.
> To align with AWS S3 expected behavior:
>  * If the metadata directive is *{{COPY}}* (default), the source object's 
> {{Content-Type}} must be preserved.
>  * If the metadata directive is {*}{{REPLACE}}{*}, the {{Content-Type}} from 
> the incoming request must be applied.
> *Failing Ceph s3-tests ("copy" group):*
>  * {{test_object_copy_retaining_metadata}} (expects {{{}audio/ogg{}}}, 
> {{{}audio/mpeg{}}})
>  * {{test_object_copy_replacing_metadata}}
>  * {{test_object_copy_verify_contenttype}} (expects {{{}text/bla{}}})
> Ref: https://ozone.s3.peterxcli.dev/



--
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