[
https://issues.apache.org/jira/browse/HBASE-11745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14097240#comment-14097240
]
ramkrishna.s.vasudevan commented on HBASE-11745:
------------------------------------------------
@apurtell
Are you sure you want to return SKIP? Then it would mean that we would filter
the kv in the Scanquerymatcher layer itself. Making filterRow() as true would
ensure that we are able to see how the region filters out the row.
> FilterAllFilter should return ReturnCode.SKIP
> ---------------------------------------------
>
> Key: HBASE-11745
> URL: https://issues.apache.org/jira/browse/HBASE-11745
> Project: HBase
> Issue Type: Bug
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Fix For: 0.99.0, 2.0.0, 0.98.6
>
> Attachments: HBASE-11745.patch
>
>
> FilterAllFilter is a filter in hbase-server's test packages used by
> PerformanceEvaluation to filter all results at the server when given the
> --filterAll command line argument. There is an unfortunate bug in versions
> greater than 0.94 (where I rewrote this filter and didn't notice the issue in
> later versions at the time):
> {code}
> @Override
> public ReturnCode filterKeyValue(Cell v) throws IOException {
> return ReturnCode.INCLUDE;
> }
> {code}
> This is obviously wrong, and results in the creation of KeyValue objects that
> we will almost immediately throw away when processing filterRow for backwards
> compatibility, which FilterAllFilter implements as:
> {code}
> @Override
> public boolean filterRow() throws IOException {
> return true;
> }
> {code}
> We noticed this problem when comparing object allocations during RPC
> processing between 0.94 and 0.98.
--
This message was sent by Atlassian JIRA
(v6.2#6252)