adoroszlai opened a new pull request, #9683:
URL: https://github.com/apache/ozone/pull/9683
## What changes were proposed in this pull request?
First step towards splitting `ObjectEndpoint`:
- Create the abstract parent class for request handlers, similar to
`BucketOperationHandler`.
- Add helper subclasses for:
- audit logging,
- delegation to a list of handlers.
- Add actual implementations, only for `PUT` request for now:
- object tagging,
- object ACL (not supported).
- Let `ObjectEndpoint` itself implement the new interface to handle
remaining branches of `PUT` request (to be moved to separate handlers later).
- Create a context object for keeping mutable state shared between handlers.
This allows:
- looking up `OzoneVolume` and `OzoneBucket` only if needed and at most
once
- passing `S3GAction` for audit logging back to the caller
- reducing number and variety of parameters in handler methods
This is a bit different from `BucketOperationHandler`, where each
implementation is currently responsible for its own audit logging. I plan to
refactor that to reduce duplication.
https://issues.apache.org/jira/browse/HDDS-14398
## How was this patch tested?
Existing tests.
https://github.com/adoroszlai/ozone/actions/runs/21434541033
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]