Brian Keyser created HBASE-26232:
------------------------------------

             Summary: SEEK_NEXT_USING_HINT is ignored on reversed Scans
                 Key: HBASE-26232
                 URL: https://issues.apache.org/jira/browse/HBASE-26232
             Project: HBase
          Issue Type: Bug
          Components: Filters
    Affects Versions: 2.4.5, 3.0.0-alpha-1
         Environment: Tested, confirmed, and fixed using the in-memory 
mini-cluster on 64-bit Ubuntu. Originally discovered with the in-memory 
mini-cluster on RHEL 7 when writing a custom filter for an unrelated project.
            Reporter: Brian Keyser


It turns out that the {{SEEK_NEXT_USING_HINT}} feature is broken for reversed 
scans. That's because the implementation hard-codes an assumption that the scan 
is forward.

Here's the mistake: 
[https://github.com/keyserbrian1/hbase/blob/735bcf85e9b59a71981babe2f5da51978d61d8d3/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java#L740|https://github.com/keyserbrian1/hbase/blob/735bcf85e9b59a71981babe2f5da51978d61d8d3/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java#L740]

The bug sneaks past the existing tests because the mistake isn't detectable by 
looking at the result of a naive reversed scan.

Attached is a PR that includes a fix and tests designed to detect if filter 
hints are actually used.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to