[
https://issues.apache.org/jira/browse/HBASE-8012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13594429#comment-13594429
]
Raymond Liu commented on HBASE-8012:
------------------------------------
[~lhofhansl]: I think it won't. a lazy seek could have the chance to skip the
entire file. If it already come down to reseek, the reseek result had to be
sucessful and correct. This could be achieved either by: reseek will be correct
by itself, or like the original solution it should be changed into a seek op
instead of reseek, since reseek won't work correctly under this condition.
Otherwise, if it is called without position to the first kv, Yes, the file will
be skipped and scanner closed. But it is wrong behavior since the file actually
not finished.
> Reseek should position to the beginning of file for the first time it is
> invoked with a KV smaller than the first KV in file
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-8012
> URL: https://issues.apache.org/jira/browse/HBASE-8012
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.94.5
> Reporter: Raymond Liu
> Assignee: Raymond Liu
> Priority: Minor
> Fix For: 0.98.0
>
> Attachments: HBASE-8012.patch
>
>
> The storeFileScanner's seekAtOrAfter method will position at the beginning of
> the file when the passed KV is smaller than first KV in file. While for
> reseekAtOrAfter, I think it should also do the same thing when it is the
> first time it been seeked. originally, this is workaround by adding a
> isReseekable property in StoreFileScanner, and is checked upon each
> enforceSeek(), if it is not seeked before, it will go with seek approaching
> instead of reseek approaching. While why not make reseekAtOrAfter working
> correctly for the first time it been reseek (also never been seek before),
> since the file is never seeked before, so position it at the beginning of the
> file don't break the idea of "reseek", say never rewind.
> It will save the effort for HBASE-8001, with this fixed, it won't need to
> check isReseekable any more.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira