Skip to content

HDDS-16358. Gate S3 derived-key requests on OM version - #11385

Open
rich7420 wants to merge 1 commit into
apache:masterfrom
rich7420:HDDS-16358
Open

rich7420 wants to merge 1 commit into
apache:masterfrom
rich7420:HDDS-16358

Conversation

@rich7420

@rich7420 rich7420 commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Add OzoneManagerVersion.S3_DERIVED_KEY and gate derived-key requests on the negotiated OM version for key and multipart writes.

In secure mode, S3 Gateway rejects signed chunk uploads against older OMs with NotImplemented before opening the key, instead of failing later with InternalError when the derived key is missing. A missing key from a supporting OM remains an error. UploadPart failures also update the failure metrics and audit log.

What is the link to the Apache JIRA

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

How was this patch tested?

Added coverage in TestRpcClient, TestEndpointBase, TestObjectPut, and TestPartUpload for OM version gating and signed upload rejection.

  • Local verification on 33ef9fdd33 with JDK 21: 234 tests passed across these four classes; checkstyle passed.
  • Negative control: restoring the pre-change RpcClient makes 8 of the 48 version-gating cases fail. All 48 pass with the fix.
  • Latest fork CI on 33ef9fdd33: integration (client) failed in TestFailureHandlingByClient.testContainerExclusionWithClosedContainerException, at the existing pre-close assertion in OzoneTestHelper.waitForContainerClose.
  • Earlier revision (27f4208878): fork CI, TestRpcClient 10×10, and S3 endpoint tests 10×10.

Generated-by: Codex (GPT-6)

Copilot AI balanced review requested due to automatic review settings October 2, 2026 14:57

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 marked this pull request as draft October 2, 2026 15:01
@github-actions github-actions Bot added client s3 S3 Gateway labels Oct 2, 2026
@rich7420
rich7420 marked this pull request as ready for review October 3, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client s3 S3 Gateway

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants