[ 
https://issues.apache.org/jira/browse/HBASE-29174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wellington Chevreuil resolved HBASE-29174.
------------------------------------------
    Resolution: Fixed

Merged to master, branch-3, branch-2, branch-2.6 and branch-2.5. Thanks for the 
review, [~zhangduo] !

> NPE on MemstoreFlusher when flush is triggered by too many wals after a wal 
> rolling
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-29174
>                 URL: https://issues.apache.org/jira/browse/HBASE-29174
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0-beta-1, 4.0.0-alpha-1, 2.7.0, 2.5.11, 2.6.2
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.0.0, 4.0.0-alpha-1, 2.7.0, 2.6.3, 2.5.12
>
>
> When rolling the current wall, if we reach "hbase.regionserver.maxlogs", a 
> memstore flush is triggered and we use SequenceIdAccounting.findLower to get 
> the region and the stores with the lower sequence id in the wal. The problem 
> is if there's a flush entry in the wal, SequenceIdAccounting.findLower is not 
> filtering the entries, and we return a METAFAMILY column family, which later 
> on HRegion.getSpecificStores we fail to resolve and end up passing a null 
> entry in the list of stores to flush:
> {noformat}
> INFO org.apache.hadoop.hbase.regionserver.HRegion: Flushing 
> c380ef2008d408ff79cedc7db5b5181c 1/1 column families, dataSize=80.76 KB 
> heapSize=144.57 KB
> 2025-02-25 22:17:48,973 ERROR 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Cache flusher failed 
> for entry [flush region PH_EVENT_ALL,\x09OPERATION\x00Pst-BG 
> Waf.OL1\x00\x80\x00\x01\x8D~\x11\x0CX\x00\x00\x00\x00FYOPEHS_OPERATION|2024/02/06
>  10:57:43|DEL020846.14C|Pst-BG 
> Waf.OL1|1|OperationStart|1||DB8G2D10.00,1715914349527.c380ef2008d408ff79cedc7db5b5181c.]
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalPrepareFlushCache(HRegion.java:2648)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2574)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2548)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2418)
>         at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:602)
>         at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:572)
>  {noformat}
> This issue seems to have been introduced the [following 
> change|https://github.com/apache/hbase/pull/1737/files#diff-1dc83cb1bb8ea7075ce53c4247c2bdd7183a92262d671e02660e84be43337e1fR455]
>  in HBASE-24382.



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

Reply via email to