You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2025/03/07 21:20:00 UTC

[jira] [Created] (HBASE-29174) NPE on MemstoreFlusher when flush is triggered by too many wals after a wal rolling

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)