Skip to content

HDDS-16658. Reuse source key details when opening the input stream in S3 CopyObject - #11396

Open
rich7420 wants to merge 2 commits into
apache:masterfrom
rich7420:HDDS-16658
Open

rich7420 wants to merge 2 commits into
apache:masterfrom
rich7420:HDDS-16658

Conversation

@rich7420

@rich7420 rich7420 commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

CopyObject fetches source key details to validate the request, then fetches them again when opening the input stream. Open the stream from the existing OzoneKeyDetails instead, avoiding a second GetKeyInfo RPC in both ordinary and datastream copies.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-16658

How was this patch tested?

Tracing evidence and reproducer.

Copilot AI balanced review requested due to automatic review settings October 3, 2026 08:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@rich7420

rich7420 commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

Before/after tracing on master ae281be314 confirms GetKeyInfo drops from 2 to 1 for both ordinary (32B) and datastream (4096B) CopyObject. Each case was repeated twice, with copied contents verified.

The attachment includes the reproducer, patches, raw traces with matched RPC client/server spans, audit logs confirming datastream use, and results for #11397. These are real HTTP/OM RPC calls in a non-secure mini-cluster; no latency measurement is claimed.

ozone-16658-16673-rpc-evidence.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

s3 S3 Gateway

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants