[ 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)