You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Raymond Liu (JIRA)" <ji...@apache.org> on 2013/03/06 06:30:12 UTC

[jira] [Updated] (HBASE-8012) 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

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

Raymond Liu updated HBASE-8012:
-------------------------------

    Attachment: HBASE-8012.patch

It could be done at the keyValueScanner level with less chance of requiring to check the isSeeked(), while if we do not want to change the keyValueScanner's meaning upon return value from seekto and reseekto, then this check had to be done at storefilescanner level which do need to be check every time though it had been checked by keyValueScanner due to the loss of information ( <0 could be returned by abstractScannerV2 from multiple place with actually different meaning)
                
> 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