You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "LN (JIRA)" <ji...@apache.org> on 2008/06/17 07:57:45 UTC

[jira] Reopened: (HBASE-686) MemcacheScanner didn't return the first row(if it exists), cause HScannerInterface's output incorrect

     [ https://issues.apache.org/jira/browse/HBASE-686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

LN reopened HBASE-686:
----------------------


i can't understand why this issue resolved as CR in 9 hours(before i wake up:-). i HAVE post my testcase when opening this issue, with clearly piont out it is part of TestHMemcache.java, which is the 0.1.2 test source about memcache. 

and, the mistake in the source should be wrong iteration control, as i commented in the issue description.

junit result here:
Testsuite: org.apache.hadoop.hbase.TestHMemcache
Tests run: 7, Failures: 1, Errors: 0, Time elapsed: 0.22 sec

Testcase: testSnapshotting took 0.16 sec
Testcase: testGetFull took 0.01 sec
Testcase: testGetNextRow took 0.01 sec
Testcase: testGetClosest took 0 sec
Testcase: testScanner_686 took 0.01 sec
	FAILED
Row name
junit.framework.AssertionFailedError: Row name
	at org.apache.hadoop.hbase.TestHMemcache.testScanner_686(TestHMemcache.java:195)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

Testcase: testScanner took 0.01 sec
Testcase: testGetRowKeyAtOrBefore took 0.02 sec


> MemcacheScanner 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
>            Assignee: Jim Kellerman
>         Attachments: HBASE-686.patch, HBASE_686.java, HBASE_686.java, TestHMemcache.java
>
>
> 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.