You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2024/10/28 09:46:00 UTC

[jira] [Resolved] (HBASE-28934) The HFile Reader creation should not be blocked due to waits for cache initialisation.

     [ 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)