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 2023/11/23 21:34:00 UTC

[jira] [Resolved] (HBASE-28176) PrefetchExecutor should stop once cache reaches capacity

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

Wellington Chevreuil resolved HBASE-28176.
------------------------------------------
    Resolution: Fixed

Thanks for reviewing it, [~psomogyi]! Have merged into master, branch-3 and branch-2.

> PrefetchExecutor should stop once cache reaches capacity
> --------------------------------------------------------
>
>                 Key: HBASE-28176
>                 URL: https://issues.apache.org/jira/browse/HBASE-28176
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 2.6.0, 3.0.0-alpha-4, 4.0.0-alpha-1
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Major
>             Fix For: 2.6.0, 3.0.0-beta-1, 4.0.0-alpha-1
>
>
> The prefetch executor runs a full scan on regions in the background once regions are opened, if the "hbase.rs.prefetchblocksonopen" property is set to true. However, if the store file size is much larger than the cache capacity, we should interrupt the prefetch once it has reached the cache capacity, otherwise it would just be triggering evictions of little value, since we don't have any sense of block priority at that point. It's better to stop the read, and let client reads cause the eviction of LFU blocks and cache the most accessed blocks.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)