[
https://issues.apache.org/jira/browse/HBASE-28839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Janardhan Hungund updated HBASE-28839:
--------------------------------------
Description:
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
was:
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. 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 and the bucket cache needs
to reinitialised to enable the bucket cache.
Thanks,
Janardhan
> 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
> Reporter: Janardhan Hungund
> Assignee: Janardhan Hungund
> Priority: Major
>
> 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)