Wellington Chevreuil created HBASE-29288:
--------------------------------------------

             Summary: 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
            Reporter: Wellington Chevreuil
            Assignee: Wellington Chevreuil


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