Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-11803

Programming model for reverse scan is confusing

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 0.98.1
    • None
    • Client
    • None
    • Phoenix

    Description

      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.

      Attachments

        1. 11803-v1.txt
          49 kB
          Ted Yu

        Activity

          People

            Unassigned Unassigned
            jamestaylor James R. Taylor
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: