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

Reid Chan commented on HBASE-22667:
-----------------------------------

It's werid, since null check for memStoreScanners is done in line 855.
{code}
 852   @Override
 853   public void updateReaders(List<StoreFile> sfs, List<KeyValueScanner> 
memStoreScanners) throws IOException {
 854     if (CollectionUtils.isEmpty(sfs)
 855       && CollectionUtils.isEmpty(memStoreScanners)) {
 856       return;
 857     }
 858     flushLock.lock();
 859     try {
 860       if (this.closing) {
 861         // Lets close scanners created by caller, since close() won't 
notice this.
 862         // memStoreScanners is immutable, so lets create a new list.
 863         clearAndClose(new ArrayList<>(memStoreScanners));
 864         return;
 865       }
{code}

> [Flush] NPE when region flushs
> ------------------------------
>
>                 Key: HBASE-22667
>                 URL: https://issues.apache.org/jira/browse/HBASE-22667
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.4.6
>            Reporter: Reid Chan
>            Priority: Critical
>
> {code}
> 2019-07-09 08:02:14,262 FATAL 
> org.apache.hadoop.hbase.regionserver.HRegionServer: ABORTING region server 
> hostname,16020,1562233574704: Replay of WAL required. Forcing server shutdown
> org.apache.hadoop.hbase.DroppedSnapshotException: region: 
> namespace:table,963,1562296120996.b8e2f19748d374d192b93f106a0f73b3.
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2646)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2322)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2284)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2170)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2095)
>         at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:508)
>         at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:478)
>         at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>         at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
>         at java.util.ArrayList.<init>(ArrayList.java:177)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.updateReaders(StoreScanner.java:863)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore.notifyChangedReadersObservers(HStore.java:1172)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore.updateStorefiles(HStore.java:1145)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore.access$900(HStore.java:122)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.commit(HStore.java:2505)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2600)
>         ... 9 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to