[
https://issues.apache.org/jira/browse/HBASE-28934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wellington Chevreuil resolved HBASE-28934.
------------------------------------------
Resolution: Fixed
Merged into master, branch-3 and branch-2. Thanks for the contribution,
[~janardhan.hungund] !
> The HFile Reader creation should not be blocked due to waits for cache
> initialisation.
> --------------------------------------------------------------------------------------
>
> Key: HBASE-28934
> URL: https://issues.apache.org/jira/browse/HBASE-28934
> Project: HBase
> Issue Type: Bug
> Components: BucketCache
> Affects Versions: 3.0.0-beta-1, 2.7.0
> Reporter: Janardhan Hungund
> Assignee: Janardhan Hungund
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.0.0, 2.7.0
>
>
> When persistent bucket cache is enabled, bucket cache needs to read and load
> the persistent cache file contents during region server starting time. This
> cache initialisation is currently asynchronous. The server restart completes
> after spawning a thread to initialise the cache.
> When the subsequent HFile readers are created, the current implementation is
> such that the constructor of the hfile (HFilePreadReader) waits until the
> cache is initialised. Due to this wait, all client requests to these regions
> would fail during the whole cache initialisation period, as these regions are
> not yet online.
> The correct way to handle this is that, the constructors of HFile readers
> should not wait for cache initialisation. Only the prefetch threads should
> wait for the cache initialisation.
> Subsequently, any client requests should be served by accessing the
> underlying file system if the cache is not yet initialised, and a cache miss
> should be computed in the cache stats.
> Thanks,
> Janardhan
--
This message was sent by Atlassian Jira
(v8.20.10#820010)