Wellington Chevreuil created HBASE-29174:
--------------------------------------------
Summary: 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
Reporter: Wellington Chevreuil
Assignee: Wellington Chevreuil
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)