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:29 UTC
[2/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/8b42c5fb
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8b42c5fb
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8b42c5fb
Branch: refs/heads/branch-1.4
Commit: 8b42c5fbd4bdb8fb8fa14a6054ce24b6aad0f446
Parents: dc8cf11
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:31 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/8b42c5fb/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 678308b..31856e3 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
@@ -851,8 +851,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();
@@ -860,7 +859,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;