hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17958) Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
Date Wed, 26 Apr 2017 01:27:04 GMT

    [ https://issues.apache.org/jira/browse/HBASE-17958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983966#comment-15983966

Lars Hofhansl commented on HBASE-17958:

The problem is the order in which the filters and column trackers are executed.
The column trackers do their own comparisons and do the right thing if a SKIP bubbles up (checked
that carefully) - unless a filter interferes.

On the other hand there _is no_ right order between the trackers and the filters. Sometimes
you want one order, sometimes the other.

If in the SKIP case we call next until we hit the next row or column, we're doing the trackers'

Hmm... I guess there has to be some acceptance that filters are a fairly low level concept
and expose you to some of the HBase inerts.

Especially counting filters are problematic since rows may have different number of columns
and columns have varying numbers of versions. 

> Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
> ----------------------------------------------------------------------------
>                 Key: HBASE-17958
>                 URL: https://issues.apache.org/jira/browse/HBASE-17958
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
> {code}
> ScanQueryMatcher.MatchCode qcode = matcher.match(cell);
> qcode = optimize(qcode, cell);
> {code}
> The optimize method may change the MatchCode from SEEK_NEXT_COL/SEEK_NEXT_ROW to SKIP.
But it still pass the next cell to ScanQueryMatcher. It will get wrong result when use some
filter, etc. ColumnCountGetFilter. It just count the  columns's number. If pass a same column
to this filter, the count result will be wrong. So we should avoid passing cell to ScanQueryMatcher
when optimize SEEK to SKIP.

This message was sent by Atlassian JIRA

View raw message