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)

Reply via email to