Wei-Chiu Chuang created HDDS-15925:
--------------------------------------
Summary: OFS getFileStatus: client-side bucket layout cache to
skip redundant InfoBucket RPC
Key: HDDS-15925
URL: https://issues.apache.org/jira/browse/HDDS-15925
Project: Apache Ozone
Issue Type: Improvement
Reporter: Wei-Chiu Chuang
Assignee: Wei-Chiu Chuang
h2. Motivation
Rooted OFS {{getFileStatus}} currently performs a separate {{getBucketInfo}}
(InfoBucket) RPC before calling OM {{GetFileStatus}} for most key paths. This
doubles client→OM traffic for workloads that call {{getFileStatus}} frequently
(for example Hive stats autogather on {{ofs://}}).
h2. Approach (client-side)
* Cache successful bucket layout validation per {{(volume, bucket)}} in
{{BasicRootedOzoneClientAdapterImpl}}.
* First {{getFileStatus}} on a bucket may still fetch bucket details to
validate layout (including link-bucket resolution and OBJECT_STORE rejection).
* After cache warm-up, call {{proxy.getOzoneFileStatus(..., headOp)}} directly
without {{getBucket()}} on steady-state paths.
* Preserve snapshot indicator paths, link-bucket layout validation,
OBJECT_STORE layout rejection, and {{headOp}} propagation.
h2. Relationship to HDDS-11232
This is *not* the HDDS-11232 approach (no combined OM response / server-side
merge of bucket info with file status). It is a separate *client-side*
optimization for the same RPC-reduction theme. It does not close HDDS-11232.
h2. Pull request
https://github.com/apache/ozone/pull/10792
h2. Testing
* Integration: {{testGetFileStatusUsesSingleOmRpcAfterCacheWarm}} and related
layout/error cases in {{AbstractRootedOzoneFileSystemTest}}
* Unit: {{TestBasicRootedOzoneClientAdapterHeadOp}} updated for direct
{{getOzoneFileStatus}} path
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]