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)