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

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

Merged to master, branch-3 and branch-2. Thanks for the reviews, [~taklwu] and 
[~psomogyi] !

> Avoid adding new blocks during prefetch if usage is greater than accept factor
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-29288
>                 URL: https://issues.apache.org/jira/browse/HBASE-29288
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 3.0.0-beta-1, 4.0.0-alpha-1, 2.7.0, 2.6.2
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.0.0, 4.0.0-alpha-1, 2.7.0
>
>
> If cache prefetch is enabled, if cache usage reaches the configured accept 
> factor, we'll enter a cycle of frequent blocks mass evictions until the 
> prefetch completes. This is quite costly and inefficient.
> A first attempt to avoid this was proposed in HBASE-28176. However, this 
> solution only interrupts the prefetch thread once we had already attempted to 
> cache the current block being read, which may already trigger a mass 
> eviction. 
> To completely avoid evictions being triggered solely by the prefetch, we 
> should check the impact of adding the current block to the cache before we 
> actual write it, and avoid the mass evictions. This check should be done only 
> when caching from prefetch threads, normal client reads and hfile writes 
> should still cache blocks, regardless.
>  



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

Reply via email to