Wellington Chevreuil created HBASE-28450:
--------------------------------------------
Summary: BuckeCache.evictBlocksByHfileName won't work after a
cache recovery from file
Key: HBASE-28450
URL: https://issues.apache.org/jira/browse/HBASE-28450
Project: HBase
Issue Type: Bug
Reporter: Wellington Chevreuil
Assignee: Wellington Chevreuil
HBASE-27313, HBASE-27686 and HBASE-27743 have extended BucketCache persistent
cache capabilities to make it resilient to RS crashes or non graceful stops,
when using file based ioengine for BucketCache.
BucketCache maintains two main collections for tracking blocks in the cache:
backingMap and blocksByHFile. The former is used as the main index of blocks
for the actual cache, whilst the latter is a set of all blocks in the cache
ordered by name, in order to conveniently and efficiently retrieve the list of
all blocks from a single file in the BucketCache.evictBlocksByHfile method.
The problem is that at cache recovery time, we are populating the blocksByHFile
set, which causes any calls to BucketCache.evictBlocksByHfile method to not
evict any blocks, once we have recovered the cache from the cache persistence
file (for instance, after a n RS restart).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)