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]

Reply via email to