Skip to content

HDDS-14534. Refactor ObjectEndpoint get/delete to use ObjectOperationHandler#9710

Open
Russole wants to merge 4 commits intoapache:masterfrom
Russole:HDDS-14534
Open

HDDS-14534. Refactor ObjectEndpoint get/delete to use ObjectOperationHandler#9710
Russole wants to merge 4 commits intoapache:masterfrom
Russole:HDDS-14534

Conversation

@Russole
Copy link
Contributor

@Russole Russole commented Feb 4, 2026

What changes were proposed in this pull request?

Continue HDDS-14398 by refactoring GET and DELETE handlers in ObjectEndpoint to use ObjectOperationHandler.

  • Move deleteObjectTagging and getObjectTagging into ObjectTaggingHandler and implement handleDeleteRequest and handleGetRequest in ObjectTaggingHandler using these methods.
  • Override handleDeleteRequest and handleGetRequest in ObjectEndpoint, moving existing logic from get and delete, but keep OMException handling in the original method, and drop:
    • S3 owner check
    • logic related to object tagging
    • logic related to audit logging
  • Change get and delete to delegate to handler.
  • Updated EndpointTestUtils to set the mocked request method for GET/PUT/DELETE calls, preventing null context/method failures when routing through the handler chain.
  • Updated related tests to align with the refactored handler-based execution flow

What is the link to the Apache JIRA

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

How was this patch tested?

All CI checks passed.

Copy link
Contributor

@Gargi-jais11 Gargi-jais11 left a comment

Choose a reason for hiding this comment

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

Thanks @Russole for the patch. Please find the inline comment.

} else {

} catch (IOException | RuntimeException ex) {
if (uploadId == null) {
Copy link
Contributor

Choose a reason for hiding this comment

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

I think you missed this part.
When uploadId != null and an exception occurs, the code doesn't update listPartsFailureStats. The catch block only updates getKeyFailureStats when uploadId == null

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks @Gargi-jais11 for the review. Fixed in the latest commit.

@Russole Russole requested a review from Gargi-jais11 February 5, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants