Repository: hbase Updated Branches: refs/heads/0.98 60dbf6769 -> 67dc17240
HBASE-15884 NPE in StoreFileScanner#skipKVsNewerThanReadpoint during reverse scan (Sergey Soldatov) Conflicts: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/67dc1724 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/67dc1724 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/67dc1724 Branch: refs/heads/0.98 Commit: 67dc17240edffdb048d63ee13e12bbcac9d51bfc Parents: 60dbf67 Author: tedyu <yuzhih...@gmail.com> Authored: Wed May 25 17:29:32 2016 -0700 Committer: Andrew Purtell <apurt...@apache.org> Committed: Tue May 31 13:47:06 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hbase/regionserver/StoreFileScanner.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/67dc1724/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java index 5330ffb..0a0fed7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java @@ -223,11 +223,11 @@ public class StoreFileScanner implements KeyValueScanner { while(enforceMVCC && cur != null && (cur.getMvccVersion() > readPt)) { - hfs.next(); + boolean hasNext = hfs.next(); cur = hfs.getKeyValue(); - if (this.stopSkippingKVsIfNextRow - && getComparator().compareRows(cur.getBuffer(), cur.getRowOffset(), - cur.getRowLength(), startKV.getBuffer(), startKV.getRowOffset(), + if (hasNext && this.stopSkippingKVsIfNextRow + && getComparator().compareRows(cur.getRowArray(), cur.getRowOffset(), + cur.getRowLength(), startKV.getRowArray(), startKV.getRowOffset(), startKV.getRowLength()) > 0) { return false; }