[ 
https://issues.apache.org/jira/browse/HBASE-30528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tak-Lon (Stephen) Wu reassigned HBASE-30528:
--------------------------------------------

    Assignee: Tak-Lon (Stephen) Wu

> Avoid redundant getFileInfo when opening plain HFiles
> -----------------------------------------------------
>
>                 Key: HBASE-30528
>                 URL: https://issues.apache.org/jira/browse/HBASE-30528
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Tak-Lon (Stephen) Wu
>            Assignee: Tak-Lon (Stephen) Wu
>            Priority: Major
>
> During a recent integration with Ozone as additional file system, we found 
> that createReaderContext has an additional getFileInfo. 
> RegionServers already know plain store file size (and often FileStatus) from 
> compaction output, store file listing, or tracker registration. Despite that, 
> StoreFileInfo.createReaderContext() and getReferencedFileStatus() could call 
> fs.getFileStatus() again on every reader open, and HDFS client open() could 
> issue another metadata lookup (getFileInfo).
> For plain HFiles (not links or references):
> * Cache or synthesize FileStatus on StoreFileInfo and reuse it in
>   createReaderContext, getReferencedFileStatus, and block distribution.
> * Open read streams via FSUtils.openForRead(), using
>   FileSystem.openFile(path).withFileStatus(status) when supported, with
>   fallback to fs.open(path).
> Links and references are unchanged and still stat the referred path as before.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to