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

Vasu Mariyala updated HBASE-4364:
---------------------------------

    Attachment: HBASE-4364.patch

I have attached the patch HBASE-4364.patch which provides the support for the 
filtering to be based on different column qualifiers/column families when 
compared to the selection list (scan.getFamilyMap()). This feature reduces the 
amount of data that is sent to the client in different scenarios.

On a high level, the patch does the following

a) Filter communicates its needs of the column qualifiers/column families 
through getFamilyMap() method of Filter. This method has been added in this 
patch.

b) While selecting the store scanners, the requirement from the filters is 
considered as well.

c) ScanQueryMatcher has been changed to apply the filter only if it is part of 
the required column qualifiers specified by the filter. It has also been 
changed to include a key value only if it is part of the scan family map.

d) The change was implemented in a back ward compatible manner. The behavior of 
the existing filters would not be affected.

Please review the first version of the patch and provide your valuable inputs 
on the approach that was used.

If the approach is ok, then I will continue to work on refining the code and 
changing the existing filters like SingleColumnValueFilter to use the new 
approach.

+ [~lhofhansl] to comment on this
                
> Filters applied to columns not in the selected column list are ignored
> ----------------------------------------------------------------------
>
>                 Key: HBASE-4364
>                 URL: https://issues.apache.org/jira/browse/HBASE-4364
>             Project: HBase
>          Issue Type: Bug
>          Components: Filters
>    Affects Versions: 0.90.4, 0.92.0, 0.94.0
>            Reporter: Todd Lipcon
>            Priority: Critical
>         Attachments: 
> HBASE-4364-failing-test-with-simplest-custom-filter.patch, HBASE-4364.patch, 
> hbase-4364_trunk.patch, hbase-4364_trunk-v2.patch
>
>
> For a scan, if you select some set of columns using addColumns(), and then 
> apply a SingleColumnValueFilter that restricts the results based on some 
> other columns which aren't selected, then those filter conditions are ignored.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to