[
https://issues.apache.org/jira/browse/HBASE-28450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wellington Chevreuil resolved HBASE-28450.
------------------------------------------
Resolution: Fixed
Merged to master, branch-3, branch-2 and branch-2.6. Thanks for the reviews,
[~psomogyi] [~ankit.jhil]!
> 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, 2.6.1
>
>
> 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)