James Taylor created HBASE-11803:
------------------------------------

             Summary: 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


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)

Reply via email to