You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2021/08/29 12:56:00 UTC

[jira] [Assigned] (HBASE-26232) SEEK_NEXT_USING_HINT is ignored on reversed Scans

     [ https://issues.apache.org/jira/browse/HBASE-26232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Duo Zhang reassigned HBASE-26232:
---------------------------------

    Assignee: Brian Keyser

> 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)