[
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