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 2014/08/06 20:33:42 UTC

[3/3] git commit: HBASE-11667 Comment ClientScanner logic for NSREs.

HBASE-11667 Comment ClientScanner logic for NSREs.


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

Branch: refs/heads/0.98
Commit: 273fe4fc81b6017ffae9ea00e8b58d65d576b84e
Parents: c881273
Author: Lars Hofhansl <la...@apache.org>
Authored: Wed Aug 6 11:28:11 2014 -0700
Committer: Lars Hofhansl <la...@apache.org>
Committed: Wed Aug 6 11:29:35 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/client/ClientScanner.java    | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/273fe4fc/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
index 2cfc6b6..c3caa75 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
@@ -390,7 +390,14 @@ public class ClientScanner extends AbstractClientScanner {
             }
             // Else, its signal from depths of ScannerCallable that we need to reset the scanner.
             if (this.lastResult != null) {
+              // The region has moved. We need to open a brand new scanner at
+              // the new location.
+              // Reset the startRow to the row we've seen last so that the new
+              // scanner starts at the correct row. Otherwise we may see previously
+              // returned rows again.
+              // (ScannerCallable by now has "relocated" the correct region)
               this.scan.setStartRow(this.lastResult.getRow());
+
               // Skip first row returned.  We already let it out on previous
               // invocation.
               skipFirst = true;