hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10965) Automate detection of presence of Filter#filterRow()
Date Sat, 12 Apr 2014 23:20:17 GMT

    [ 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)

Mime
View raw message