[
https://issues.apache.org/jira/browse/HDDS-16681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chung-En Lee updated HDDS-16681:
--------------------------------
Description:
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.
was:
### 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.
> 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
> Priority: Major
>
> 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]