[ https://issues.apache.org/jira/browse/HBASE-26232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Duo Zhang resolved HBASE-26232. ------------------------------- Hadoop Flags: Reviewed Resolution: Fixed Pushed to branch-2.3+. Thanks [~keyserbrian1] for contributing. > 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: 3.0.0-alpha-1, 2.4.5 > 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 > Assignee: Brian Keyser > Priority: Critical > Fix For: 2.5.0, 3.0.0-alpha-2, 2.4.6, 2.3.7 > > > 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)