You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2015/10/03 05:28:55 UTC

[5/5] hbase git commit: HBASE-14539 Slight improvement of StoreScanner.optimize.

HBASE-14539 Slight improvement of StoreScanner.optimize.


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

Branch: refs/heads/branch-1.0
Commit: 866d88c3761bb2f2c009bfd5511c4db28f7a5570
Parents: 0c351cb
Author: Lars Hofhansl <la...@apache.org>
Authored: Fri Oct 2 20:23:03 2015 -0700
Committer: Lars Hofhansl <la...@apache.org>
Committed: Fri Oct 2 20:30:05 2015 -0700

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


http://git-wip-us.apache.org/repos/asf/hbase/blob/866d88c3/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 24f2f54..94e94d8 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
@@ -601,16 +601,13 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
    * (see HBASE-13109)
    */
   private ScanQueryMatcher.MatchCode optimize(ScanQueryMatcher.MatchCode qcode, Cell cell) {
-    Cell nextIndexedKey = getNextIndexedKey();
-    if (nextIndexedKey == null || nextIndexedKey == HConstants.NO_NEXT_INDEXED_KEY ||
-        store == null) {
-      return qcode;
-    }
     switch(qcode) {
     case INCLUDE_AND_SEEK_NEXT_COL:
     case SEEK_NEXT_COL:
     {
-      if (matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0) {
+      Cell nextIndexedKey = getNextIndexedKey();
+      if (nextIndexedKey != null && nextIndexedKey != HConstants.NO_NEXT_INDEXED_KEY
+          && matcher.compareKeyForNextColumn(nextIndexedKey, cell) >= 0) {
         return qcode == MatchCode.SEEK_NEXT_COL ? MatchCode.SKIP : MatchCode.INCLUDE;
       }
       break;
@@ -618,7 +615,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     case INCLUDE_AND_SEEK_NEXT_ROW:
     case SEEK_NEXT_ROW:
     {
-      if (matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0) {
+      Cell nextIndexedKey = getNextIndexedKey();
+      if (nextIndexedKey != null && nextIndexedKey != HConstants.NO_NEXT_INDEXED_KEY
+          && matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0) {
         return qcode == MatchCode.SEEK_NEXT_ROW ? MatchCode.SKIP : MatchCode.INCLUDE;
       }
       break;