Wellington Chevreuil created HBASE-30330:
--------------------------------------------
Summary: NPE on
CustomDateTieredCompactionPolicy.shouldPerformMajorCompaction
Key: HBASE-30330
URL: https://issues.apache.org/jira/browse/HBASE-30330
Project: HBase
Issue Type: Bug
Reporter: Wellington Chevreuil
Assignee: Wellington Chevreuil
The scheduled compaction chore can get a NPE on stores from CFs that have Time
Based Priority for BucketCache enabled. This happens when there are files on
the store that didn't get manually major compacted after Time Based Priority
was enabled, and therefore, miss the CUSTOM_TIERING_TIME_RANGE metadata field:
{code:java}
2026-08-08 03:04:09,544 ERROR org.apache.hadoop.hbase.ScheduledChore:
[regionserver/rs-host1:16020.Chore.1]: Caught error
java.lang.NullPointerException: input data is null!
at
org.apache.hbase.thirdparty.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:920)
at
org.apache.hadoop.hbase.regionserver.TimeRangeTracker.parseFrom(TimeRangeTracker.java:193)
at
org.apache.hadoop.hbase.regionserver.TimeRangeTracker.parseFrom(TimeRangeTracker.java:189)
at
org.apache.hadoop.hbase.regionserver.compactions.CustomDateTieredCompactionPolicy.shouldPerformMajorCompaction(CustomDateTieredCompactionPolicy.java:132)
at
org.apache.hadoop.hbase.regionserver.HStore.shouldPerformMajorCompaction(HStore.java:1445)
at
org.apache.hadoop.hbase.regionserver.HRegionServer$CompactionChecker.chore(HRegionServer.java:2026)
at org.apache.hadoop.hbase.ScheduledChore.run(ScheduledChore.java:161)
at
org.apache.hadoop.hbase.trace.TraceUtil.lambda$tracedRunnable$2(TraceUtil.java:155)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at
org.apache.hadoop.hbase.JitterScheduledThreadPoolExecutorImpl$JitteredRunnableScheduledFuture.run(JitterScheduledThreadPoolExecutorImpl.java:107)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840) {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)