hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11803) Programming model for reverse scan is confusing
Date Mon, 25 Aug 2014 04:46:58 GMT

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

Enis Soztutar commented on HBASE-11803:
---------------------------------------

bq. If done such that we have new getters and setters for Scan for KeyRange while keeping
current Scan methods in a backwards compatible way (with some deprecation), I don't see why
that change couldn't go in on branch-1 - although that's Enis Soztutar's call - or even 0.98.
Sounds like a good idea. A range with explicit inclusion for boundaries will make client API
cleaner. 

> Programming model for reverse scan is confusing
> -----------------------------------------------
>
>                 Key: HBASE-11803
>                 URL: https://issues.apache.org/jira/browse/HBASE-11803
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.98.1
>            Reporter: James Taylor
>            Assignee: Ted Yu
>         Attachments: 11803-v1.txt
>
>
> The reverse scan is a very nice feature in HBase. We leverage it in Apache Phoenix 4.1
when possible and see a huge boost in performance over re-ordering the result set ourselves.
> However, the way in which you have to adjust the start/stop key is confusing. Our use
case is that we have a scan that needs to be done and we've calculated an inclusive start
row and an exclusive stop row. This is the way region boundaries are which is convenient as
they can easily be intersected against the scan stop/start row. When we use a reverse scan,
we are forced to switch the start and stop row values of the scan *and* adjust the byte values
from inclusive to exclusive and from exclusive to inclusive. The former is not too bad, as
you can just add a zero byte, but the latter is problematic. You can decrease the last byte
by one, but you need to add an indeterminate 0xFF bytes to ensure you're not including a row
unintentionally.
> IMHO, it would be much cleaner to just keep the start/stop row as is and just set  call
the Scan.setReversed(true) method.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message