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