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