From 3e3b352c711f909fe71e40baae4b0cd413c36857 Mon Sep 17 00:00:00 2001 From: Aman Poonia Date: Wed, 8 Aug 2018 19:54:12 +0530 Subject: [PATCH 1/2] PHOENIX-4839 Check for memstore scanners if it is null before adding it to scanner list --- .../regionserver/IndexHalfStoreFileReaderGenerator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java index e41086bf7ac..1824e0f2923 100644 --- a/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java +++ b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java @@ -395,7 +395,10 @@ private List getLocalIndexScanners(final .getReader().getHFileReader().hasMVCCInfo(), readPt)); } } - keyValueScanners.addAll(((HStore) store).memstore.getScanners(readPt)); + List memstoreScanners = ((HStore) store).memstore.getScanners(readPt); + if(memstoreScanners != null) { + keyValueScanners.addAll(memstoreScanners); + } return keyValueScanners; } } From feea56532ebe4f7f73e74e72387927826a196bf3 Mon Sep 17 00:00:00 2001 From: Aman Poonia Date: Fri, 10 Aug 2018 17:20:55 +0530 Subject: [PATCH 2/2] Check for HStore before casting --- .../regionserver/IndexHalfStoreFileReaderGenerator.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java index 1824e0f2923..d8868dffccd 100644 --- a/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java +++ b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java @@ -395,9 +395,11 @@ private List getLocalIndexScanners(final .getReader().getHFileReader().hasMVCCInfo(), readPt)); } } - List memstoreScanners = ((HStore) store).memstore.getScanners(readPt); - if(memstoreScanners != null) { - keyValueScanners.addAll(memstoreScanners); + if(store instanceof HStore) { + List memstoreScanners = ((HStore)store).memstore.getScanners(readPt); + if(memstoreScanners != null) { + keyValueScanners.addAll(memstoreScanners); + } } return keyValueScanners; }