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:30:09 UTC

hbase git commit: HBASE-14539 Slight improvement of StoreScanner.optimize.

Repository: hbase
Updated Branches:
  refs/heads/0.98 aa60e800a -> 458d36ff9


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/458d36ff
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/458d36ff
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/458d36ff

Branch: refs/heads/0.98
Commit: 458d36ff9c7175faa88d6afee4ff9afd099c6c1a
Parents: aa60e80
Author: Lars Hofhansl <la...@apache.org>
Authored: Fri Oct 2 20:31:55 2015 -0700
Committer: Lars Hofhansl <la...@apache.org>
Committed: Fri Oct 2 20:31:55 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/458d36ff/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 8da3752..e30bf59 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
@@ -580,16 +580,13 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
    * (See HBASE-13109)
    */
   private ScanQueryMatcher.MatchCode optimize(ScanQueryMatcher.MatchCode qcode, Cell cell) {
-    byte[] 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) {
+      byte[] 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;
@@ -597,7 +594,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
     case INCLUDE_AND_SEEK_NEXT_ROW:
     case SEEK_NEXT_ROW:
     {
-      if (matcher.compareKeyForNextRow(nextIndexedKey, cell) >= 0) {
+      byte[] 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;