You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2014/08/14 18:56:12 UTC
[jira] [Updated] (HBASE-11745) FilterAllFilter should return
ReturnCode.SKIP
[ https://issues.apache.org/jira/browse/HBASE-11745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-11745:
-----------------------------------
Attachment: HBASE-11745.patch
Attached fix for the reported problem plus removal of code that doesn't do anything useful in parseFrom.
> 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)