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 2012/08/15 19:23:45 UTC

svn commit: r1373531 - /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Author: larsh
Date: Wed Aug 15 17:23:44 2012
New Revision: 1373531

URL: http://svn.apache.org/viewvc?rev=1373531&view=rev
Log:
HBASE-6577 RegionScannerImpl.nextRow() should seek to next row

Modified:
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1373531&r1=1373530&r2=1373531&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Wed Aug 15 17:23:44 2012
@@ -3603,7 +3603,7 @@ public class HRegion implements HeapSize
             // there're no left overs.
             // the reasons for calling this method are:
             // 1. reset the filters.
-            // 2. provide a hook to fast forward the row (used by subclasses)
+            // 2. fast forward the row
             nextRow(currentRow);
 
             // This row was totally filtered out, if this is NOT the last row,
@@ -3616,16 +3616,15 @@ public class HRegion implements HeapSize
       }
     }
 
-    private boolean filterRow() {
-      return filter != null
-          && filter.filterRow();
-    }
     private boolean filterRowKey(byte[] row) {
       return filter != null
           && filter.filterRowKey(row, 0, row.length);
     }
 
     protected void nextRow(byte [] currentRow) throws IOException {
+      KeyValue kv = KeyValue.createLastOnRow(currentRow);
+      this.storeHeap.requestSeek(kv, true, true);
+
       while (Bytes.equals(currentRow, peekRow())) {
         this.storeHeap.next(MOCKED_LIST);
       }