You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2024/09/24 11:58:00 UTC
[jira] [Resolved] (HBASE-28839) Exception handling during retrieval of bucket-cache from persistence.
[ 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)