[ https://issues.apache.org/jira/browse/HBASE-28839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wellington Chevreuil resolved HBASE-28839. ------------------------------------------ Fix Version/s: 3.0.0 2.7.0 Resolution: Fixed Thanks for the contribution, [~janardhan.hungund]. Have merged to master, branch-3 and branch-2. > Exception handling during retrieval of bucket-cache from persistence. > --------------------------------------------------------------------- > > Key: HBASE-28839 > URL: https://issues.apache.org/jira/browse/HBASE-28839 > Project: HBase > Issue Type: Bug > Components: BucketCache > Affects Versions: 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, 2.7.0 > > > During the retrieval of bucket cache from the persistence file during the > startup, it was observed that, if an exception, other than, the IOException > occurs, the bucket cache internal members remain uninitialised and cause the > bucket to remain unusable. The exception is not logged in the trace file and > the retrieval thread exits without initialising the bucket-cache. > Also, the NullPointerExceptions are seen when, trying to use the cache. > {code:java} > 2024-09-10 14:33:30,020 ERROR > org.apache.hadoop.hbase.io.hfile.bucket.BucketCache: WriterThread encountered > error > java.lang.NullPointerException > at > org.apache.hadoop.hbase.io.hfile.bucket.BucketCache$RAMQueueEntry.writeToCache(BucketCache.java:1975) > at > org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.doDrain(BucketCache.java:1298) > {code} > > {code:java} > 2024-09-13 07:01:05,964 ERROR > org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: Error getting metrics > from source RegionServer,sub=Server > java.lang.NullPointerException > at > org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.getFreeSize(BucketCache.java:1819) > at > org.apache.hadoop.hbase.io.hfile.CombinedBlockCache.getFreeSize(CombinedBlockCache.java:179) > at > org.apache.hadoop.hbase.regionserver.MetricsRegionServerWrapperImpl.getBlockCacheFreeSize(MetricsRegionServerWrapperImpl.java:308) > at > org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceImpl.addGaugesToMetricsRecordBuilder(MetricsRegionServerSourceImpl.java:525) > at > org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceImpl.getMetrics(MetricsRegionServerSourceImpl.java:333) > {code} > All type of exceptions need to be handled gracefully. > All types of exceptions must be logged to the trace file. > The bucket cache needs to reinitialised and made usable. > Thanks, > Janardhan -- This message was sent by Atlassian Jira (v8.20.10#820010)