hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "LN (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-686) memcache.getScanner didn't return the first row(if it exists), cause HScannerInterface's output incorrect
Date Sat, 14 Jun 2008 08:19:45 GMT

    [ https://issues.apache.org/jira/browse/HBASE-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12605049#action_12605049
] 

LN commented on HBASE-686:
--------------------------

my patch, due to my local source changed for HBASE-684, the line number is incorrect i think.

Index: src/java/org/apache/hadoop/hbase/HStore.java
===================================================================
--- src/java/org/apache/hadoop/hbase/HStore.java	Sat Jun 14 15:46:26 CST 2008
+++ src/java/org/apache/hadoop/hbase/HStore.java	Sat Jun 14 15:46:26 CST 2008
@@ -631,8 +631,7 @@
        if (results.size() > 0) {
          results.clear();
        }
-       while (results.size() <= 0 &&
-           (this.currentRow = getNextRow(this.currentRow)) != null) {
+       while (results.size() <= 0 && this.currentRow != null) {
          if (deletes.size() > 0) {
            deletes.clear();
          }
@@ -661,6 +660,7 @@
            }
            results.put(column, c);
          }
+         this.currentRow = getNextRow(this.currentRow);
        }
        return results.size() > 0;
      }


> memcache.getScanner didn't return the first row(if it exists), cause HScannerInterface's
output incorrect
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-686
>                 URL: https://issues.apache.org/jira/browse/HBASE-686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.1.2
>            Reporter: LN
>
> HTable.obtainScanner methods should return the start row if it exists, although HTable's
javadoc didn't clearly desc. but i found the result of htable scanners sometimes contain the
start row, sometimes not.
> after more testing and code review, i found it should be a bug in HStore.Memcache.MemcacheScanner.
in the constructor it set this.currentRow = firstRow, but when doing next(), there's a this.currentRow
= getNextRow(this.currentRow) before fetch result.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message