[ 
https://issues.apache.org/jira/browse/HBASE-7481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13559439#comment-13559439
 ] 

Lars Hofhansl commented on HBASE-7481:
--------------------------------------

Java allows not declaring the throws clause in an implementation or subclass. 
I.e. if we added {{throws IOException}} to Filter and FilterBase (and all our 
filterclasses) that does not mean that custom subclasses or implementations 
would need to be changed. Only *callers* of the Filter methods would need to be 
changed potentially and all these callers are in our internal code.
Rolling upgrades would work as long as the filter classes are also rolled (i.e. 
the old code would not work with new filters, since the filters can now throw 
IOException, but new servers would work fine with old filters).

Hmm... Maybe not the best idea. James worked around the issue by wrapping the 
calls into a coprocessor, but he still cannot distinguish between expected and 
unexpected errors... And it's a hack.

                
> throw IOExceptions from Filter methods?
> ---------------------------------------
>
>                 Key: HBASE-7481
>                 URL: https://issues.apache.org/jira/browse/HBASE-7481
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>
> Currently there is no way to throw custom IOExceptions from any of the filter 
> methods.
> For implementers of custom filters that presents a problem.
> For example there are scenarios where the filter would want to indicate to 
> the client that there it should not retry. Currently there is no way of doing 
> that.

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

Reply via email to