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

Wellington Chevreuil updated HBASE-28450:
-----------------------------------------
    Affects Version/s: 2.6.0

> 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
>    Affects Versions: 2.6.0, 3.0.0-beta-1, 4.0.0-alpha-1, 2.7.0
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1, 2.7.0, 3.0.0-beta-2
>
>
> 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