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

Reply via email to