hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doğacan Güney (JIRA) <j...@apache.org>
Subject [jira] Updated: (HBASE-1647) Filter#filterRow is called too often, filters rows it shouldn't have
Date Sat, 11 Jul 2009 12:09:14 GMT

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

Doğacan Güney updated HBASE-1647:

    Attachment: scanfilter.patch

1) A simple class to demonstrate the problem. Not that col2:-s are all filtered even though
the ValueFilter instance should only work on col1:-s. When running give -create as an argument
to create the table.

2) Patch for the issue. Patch delete the ScanQueryMatcher#filterEntireRow method and instead
calls Filter#filterRow in HRegion.RegionScanner#next. I am not sure if this patch is complete/correct
but it fixes the problem for me. Not that you also need HBASE-1646 to test this patch (or
the class above).

> Filter#filterRow is called too often, filters rows it shouldn't have
> --------------------------------------------------------------------
>                 Key: HBASE-1647
>                 URL: https://issues.apache.org/jira/browse/HBASE-1647
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: Doğacan Güney
>         Attachments: ScanBug.java, scanfilter.patch
> Filter#filterRow is called from ScanQueryMatcher#filterEntireRow which is called from
StoreScanner.next. However, if I understood the code correctly, StoreScanner processes KeyValue-s
in a column-oriented order (i.e. after row1-col1 comes row2-col1, not row1-col2). Thus, when
filterEntireRow is called, in reality, the filter only processed (via filterKeyValue) only
one column of a row.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message