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]

Reply via email to