[
https://issues.apache.org/jira/browse/HBASE-28900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17889414#comment-17889414
]
Hudson commented on HBASE-28900:
--------------------------------
Results for branch master
[build #1183 on
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1183/]:
(/) *{color:green}+1 overall{color}*
----
details (if available):
(/) {color:green}+1 general checks{color}
-- For more information [see general
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1183/General_20Nightly_20Build_20Report/]
(/) {color:green}+1 jdk17 hadoop3 checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/1183/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
(/) {color:green}+1 client integration test{color}
> Avoid resetting bucket cache during restart if inconsistency is observed for
> some blocks.
> -----------------------------------------------------------------------------------------
>
> Key: HBASE-28900
> URL: https://issues.apache.org/jira/browse/HBASE-28900
> Project: HBase
> Issue Type: Bug
> Components: BucketCache
> Affects Versions: 2.6.0, 3.0.0-beta-1, 2.7.0
> Reporter: Janardhan Hungund
> Assignee: Janardhan Hungund
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.0.0
>
>
> During the execution of persistence of backing map into the persistence file,
> the backing map is not guarded by a lock against caching of blocks and block
> evictions.
> Hence, some of the block entries in the backing map in persistence may not be
> consistent with the bucket cache.
> During, the retrieval of the backing map from persistence if an inconsistency
> is detected, the complete bucket cache is discarded and is rebuilt.
> One of the errors, seen, is, as mentioned below:
> {code:java}
> 2024-09-30 08:58:33,840 WARN
> org.apache.hadoop.hbase.io.hfile.bucket.BucketCache: Can't restore from
> file[/hadoopfs/ephfs1/bucketcache.map]. The bucket cache will be reset and
> rebuilt. Exception seen:
> org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocatorException: Couldn't
> find match for index 26 in free list
> at
> org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator$Bucket.addAllocation(BucketAllocator.java:140)
> at
> org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator.<init>(BucketAllocator.java:406)
> at
> org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.retrieveFromFile(BucketCache.java:1486)
> at
> org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.lambda$startPersistenceRetriever$0(BucketCache.java:377)
> at java.base/java.lang.Thread.run(Thread.java:840) {code}
> This retrieval can be optimised to only discard the inconsistent entries in
> the persistent backing map and retain the remaining entries. The bucket cache
> validator will throw away the inconsistent entry from the backing map.
> Thanks,
> Janardhan
--
This message was sent by Atlassian Jira
(v8.20.10#820010)