From 3abe3d9b14d7c249498bd7082cedb4cf0c44346b Mon Sep 17 00:00:00 2001 From: Viraj Jasani Date: Sun, 2 Jun 2019 01:20:49 +0530 Subject: [PATCH] [HBASE-22520] : Avoid possible NPE while performing seekBefore in HalfStoreFileReader --- .../org/apache/hadoop/hbase/io/HalfStoreFileReader.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java index 2e112c13959..e462d90e97a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java @@ -60,9 +60,9 @@ // i.e. empty column and a timestamp of LATEST_TIMESTAMP. protected final byte [] splitkey; - protected final Cell splitCell; + private final Cell splitCell; - private Optional firstKey = null; + private Optional firstKey = Optional.empty(); private boolean firstKeySeeked = false; @@ -269,7 +269,7 @@ public int reseekTo(Cell key) throws IOException { public boolean seekBefore(Cell key) throws IOException { if (top) { Optional fk = getFirstKey(); - if (PrivateCellUtil.compareKeyIgnoresMvcc(getComparator(), key, fk.get()) <= 0) { + if (fk.isPresent() && PrivateCellUtil.compareKeyIgnoresMvcc(getComparator(), key, fk.get()) <= 0) { return false; } } else {