Chung-En Lee created HDDS-16681:
-----------------------------------
Summary: S3G: Avoid calling getS3Volume by using
`getBucketDetails` API.
Key: HDDS-16681
URL: https://issues.apache.org/jira/browse/HDDS-16681
Project: Apache Ozone
Issue Type: Sub-task
Reporter: Chung-En Lee
Assignee: Chung-En Lee
### Background & Problem
In Ozone S3 Gateway (S3G), retrieving bucket metadata via `infoBucket` is on
the critical path for many S3 REST operations.
Currently, before invoking `infoBucket`, S3G frequently executes a separate
`getS3VolumeContext` RPC call to OM in order to resolve the underlying volume
mapped to the S3 bucket name. This introduces an extra network round trip (RTT).
### Proposed Solution
Following the pattern established in **HDDS-7324** (resolving S3 context
natively on OM / utilizing `assumeS3Context`):
1. **OM-side Context Resolution**:
- Update the `InfoBucket` request protocol to support resolving the S3
volume context directly on OM.
- If `assumeS3Context` is enabled, OM handles the S3 volume mapping and
bucket lookup within a single server-side operation.
2. **S3G Path Optimization**:
- Refactor S3G's bucket resolution logic (such as in `BucketEndpoint` and
related helper methods) to bypass the explicit pre-call to `getS3VolumeContext`.
- Directly invoke the enhanced `infoBucket` RPC, dropping the operation from
2 RPCs to 1 RPC.
### Expected Impact
- **Latency Reduction**: Eliminates 1 RPC RTT on one of the most frequent S3
metadata codepaths.
- **OM Throughput**: Decreases OM RPC queue contention and reduces overall
network traffic between S3G and OM.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]