[ 
https://issues.apache.org/jira/browse/HBASE-27936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17734255#comment-17734255
 ] 

Duo Zhang commented on HBASE-27936:
-----------------------------------

I think a problem is that, in HBASE_27421, we introduced a new field 
bloomFilterMetrics but did not change the implementation of 
StoreFileReader.copyFields, so we missed the bloomFilterMetrics when compaction.

And maybe there is something wrong when loading bloomfilter then we will set 
bloomfilter to null, this will trigger the NPE above.

Let me provide a PR to fix the problem, so [~heliangjun] you could try this 
patch to see if it helps. And I will also try to implement a UT for this 
scenario.

Thanks.

> NPE in StoreFileReader.passesGeneralRowPrefixBloomFilter()
> ----------------------------------------------------------
>
>                 Key: HBASE-27936
>                 URL: https://issues.apache.org/jira/browse/HBASE-27936
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Liangjun He
>            Priority: Major
>
> When executing itbll, we encountered the following NPE exception:
> {code:java}
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.passesGeneralRowPrefixBloomFilter(StoreFileReader.java:352)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.passesBloomFilter(StoreFileReader.java:265)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.shouldUseScanner(StoreFileScanner.java:483)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.selectScannersFrom(StoreScanner.java:467)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:320)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:289)
>         at 
> org.apache.hadoop.hbase.regionserver.compactions.Compactor.createScanner(Compactor.java:544)
>         at 
> org.apache.hadoop.hbase.regionserver.compactions.Compactor$1.createScanner(Compactor.java:269)
>         at 
> org.apache.hadoop.hbase.regionserver.compactions.Compactor.compact(Compactor.java:358)
>         at 
> org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.compact(DefaultCompactor.java:64)
>         at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreEngine$DefaultCompactionContext.compact(DefaultStoreEngine.java:122)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:1176)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.compact(HRegion.java:2407)
>         at 
> org.apache.hadoop.hbase.regionserver.CompactSplit$CompactionRunner.doCompaction(CompactSplit.java:667)
>         at 
> org.apache.hadoop.hbase.regionserver.CompactSplit$CompactionRunner.run(CompactSplit.java:716)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:750)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to