[
https://issues.apache.org/jira/browse/HDDS-16658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Attila Doroszlai resolved HDDS-16658.
-------------------------------------
Fix Version/s: 2.3.0
Resolution: Implemented
> Reuse source key details when opening the input stream in S3 CopyObject
> -----------------------------------------------------------------------
>
> Key: HDDS-16658
> URL: https://issues.apache.org/jira/browse/HDDS-16658
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Huang Kuan Hao
> Assignee: Huang Kuan Hao
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.3.0
>
>
> ObjectEndpoint#copyObject retrieves the source key details to evaluate copy
> conditions and obtain the object's size, metadata, tags, and ETag. When
> copying the content, it then calls ClientProtocol#getKey, which issues
> another GetKeyInfo RPC for the same source key. Open the input stream through
> OzoneKeyDetails#getContent instead, reusing the key information already
> fetched. This follows the approach used by GetObject and UploadPartCopy and
> saves one source metadata RPC on the normal content-copy path. Retain the
> existing GetObject action scope, copy-condition checks, and input-stream
> retry handling.
> Regression tests should verify:
> * Source key details are fetched once, without a separate getKey call, for
> both regular and datastream copies.
> * Copied content, metadata, tags, ETag, and LastModified remain correct.
> * Existing source and destination conditions and expected-owner checks are
> preserved.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]