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