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

Hbase throws OutOfOrderScannerNextException when MultiRowRangeFilter is used

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.0
    • 1.2.0, 1.1.1, 0.98.21, 2.0.0
    • Client
    • None
    • Reviewed

    Description

      When using filter MultiRowRangeFilter with ranges closed to each other that there are no rows between ranges, then OutOfOrderScannerNextException is throwed.
      In filterRowKey method when range is switched to the next range, currentReturnCode is set to SEEK_NEXT_USING_HINT (MultiRowRangeFilter: 118 in v1.1.0). But if new range is already contain this row, then we should include this row, not to seek for another one.
      Replacing line 118 to this code seems to be working fine:

      if (range.contains(buffer, offset, length)) {
          currentReturnCode = ReturnCode.INCLUDE;
      } else {
          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;
      }
      

      Attachments

        1. 13704-v1.txt
          3 kB
          Ted Yu

        Activity

          People

            masyaman Aleksandr Maksymenko
            masyaman Aleksandr Maksymenko
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: