[
https://issues.apache.org/jira/browse/HBASE-10965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13967677#comment-13967677
]
stack commented on HBASE-10965:
-------------------------------
bq. There is potential inconsistency between the return value of
Filter#hasFilterRow() and presence of Filter#filterRow(). Filters may override
Filter#filterRow() while leaving return value of Filter#hasFilterRow() being
false (inherited from FilterBase).
The particular filter implementation is broke then? You would change how we
run filters to accommodate brokenly implemented filters?
bq. This JIRA aims to remove the inconsistency by automatically detecting the
presence of overridden Filter#filterRow(). If filterRow() is implemented and
not inherited from FilterBase, it is equivalent to having hasFilterRow() return
true.
Why do we need this? Who has this problem? Are folks implementing filters w/o
reading the Interface (is it not clear on what needs overriding -- if not,
shouldn't we fix that?) or who is implementing filters w/o test that proves
their filter "does the right thing?" Is the filter API broke? Should we fix
that rather than add what looks like a band-aid, one that may 'surprise'
implementors?
> Automate detection of presence of Filter#filterRow()
> ----------------------------------------------------
>
> Key: HBASE-10965
> URL: https://issues.apache.org/jira/browse/HBASE-10965
> Project: HBase
> Issue Type: Task
> Reporter: Ted Yu
> Assignee: Ted Yu
> Attachments: 10965-v1.txt, 10965-v2.txt, 10965-v3.txt, 10965-v4.txt
>
>
> There is potential inconsistency between the return value of
> Filter#hasFilterRow() and presence of Filter#filterRow().
> Filters may override Filter#filterRow() while leaving return value of
> Filter#hasFilterRow() being false (inherited from FilterBase).
> This JIRA aims to remove the inconsistency by automatically detecting the
> presence of overridden Filter#filterRow(). If filterRow() is implemented and
> not inherited from FilterBase, it is equivalent to having hasFilterRow()
> return true.
--
This message was sent by Atlassian JIRA
(v6.2#6252)