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

Scan#setRowPrefixFilter incorrectly marked as deprecated

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.0-alpha-2
    • None
    • Client, scan
    • None
    • Reviewed

    Description

      Issue HBASE-25299 is about the Scan#setRowPrefixFilter having not the expected effects when using also the setStartRow and/or setStopRow.

      The setRowPrefixFilter is intended to make setting the right startRow and stopRow for prefix scans. So it was always intended of using it instead of doing separate setStartRow and/or setStopRow calls.

      The reason for adding this to the Scan (~ 8 years ago, HBASE-11990 ) was that calculating the correct start and stop row for doing the very efficient prefix scan is very very hard to do right in the generic case.

      This is still a current usecase and many of my applications rely on this function (I even prefer the HBase Client when connecting to Google BigTable for this method).

      With issue HBASE-25299 it has now been marked as deprecated.
      Quote from the changes made in HBASE-25299:

      @deprecated since 3.0.0. The scan result might be unexpected in some cases.
      

      Yes, if you use this very valuable method incorrectly it will yield incorrect results.
      I do not consider this a valid reason to deprecate it.

      So I do agree with the confusion of the effects as described in HBASE-25299 which should be fixed with additional documentation.

      I disagree with the deprecation of this method.
       

      I'll put up a pull request in which I improve the documentation and remove the deprecation.

      Attachments

        Issue Links

          Activity

            People

              nielsbasjes Niels Basjes
              nielsbasjes Niels Basjes
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: