You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/08/20 23:00:30 UTC

[3/3] hbase git commit: HBASE-21069 NPE in StoreScanner.updateReaders causes RS to crash

HBASE-21069 NPE in StoreScanner.updateReaders causes RS to crash


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0d19ec9a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0d19ec9a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0d19ec9a

Branch: refs/heads/branch-1.3
Commit: 0d19ec9a549e8a2275b2c6de0e9a1cfa8f17ef26
Parents: b447ccc
Author: Andrew Purtell <ap...@apache.org>
Authored: Fri Aug 17 15:34:18 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Aug 20 15:52:35 2018 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/regionserver/StoreScanner.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/0d19ec9a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index da2f5ae..9d63374 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -815,8 +815,7 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
   // Implementation of ChangedReadersObserver
   @Override
   public void updateReaders(List<StoreFile> sfs, List<KeyValueScanner> memStoreScanners) throws IOException {
-    if (CollectionUtils.isEmpty(sfs)
-      && CollectionUtils.isEmpty(memStoreScanners)) {
+    if (CollectionUtils.isEmpty(sfs) && CollectionUtils.isEmpty(memStoreScanners)) {
       return;
     }
     flushLock.lock();
@@ -824,7 +823,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
       if (this.closing) {
         // Lets close scanners created by caller, since close() won't notice this.
         // memStoreScanners is immutable, so lets create a new list.
-        clearAndClose(new ArrayList<>(memStoreScanners));
+        if (!CollectionUtils.isEmpty(memStoreScanners)) {
+          clearAndClose(new ArrayList<>(memStoreScanners));
+        }
         return;
       }
       flushed = true;