gora-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Ratnasekera (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (GORA-180) Better Exception handling post webservices API integration.
Date Thu, 02 May 2019 09:31:00 GMT

     [ https://issues.apache.org/jira/browse/GORA-180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Kevin Ratnasekera updated GORA-180:
    Fix Version/s:     (was: 0.9)

> Better Exception handling post webservices API integration.
> -----------------------------------------------------------
>                 Key: GORA-180
>                 URL: https://issues.apache.org/jira/browse/GORA-180
>             Project: Apache Gora
>          Issue Type: Improvement
>          Components: gora-core
>    Affects Versions: 0.3
>            Reporter: Lewis John McGibbney
>            Assignee: Renato Javier MarroquĂ­n Mogrovejo
>            Priority: Major
>             Fix For: 1.0
> This is the result of some off list discussion with Ferdy. The suggestions are
> In some instances, we introduced catch-all Exception handling in order to address reviewer
suggestion(s) prior to committing the patch. (To was to avoid having to declare "throws Exception"
in the entire call stack). However a very important thing about this is to always rethrow
the Exception in an exception that *is* declared in the method. Because IOException is a very
common type of exception already in may call stacks, you do not have declare "throws IOException"
> For example, the most crucial classes where this is currently not the case is in GoraRecordReader
and GoraRecordWriter. Now it is possible have silent failures when reading or writing records.
(Well not completely silent since you have logging in place, but it won't fail the tasks in
a MapReduce environment! You really want to fail-fast tasks when there is something wrong
in the core Gora code.) 
> For example:
> GoraRecordWriter 72-74 --> In the catch-block, should have a statement:
> throw new IOException(e); //rethrow the Exception to let our calling stack know there
is something seriously wrong
> GoraRecordReader 121-123 --> In the catch-block, should have a statement:
> throw new IOException(e);
> Actually there is almost never a good reason to dismiss Exception (by not rethrowing).

> This issues should encompass a review of the changes in line with the suggestions above
and simply wrap and rethrow the places where this is currently not the case. Right now I do
not know how deeply/widely rooted this problem is and how many areas improvements need to
be made but we should be as thorough as possible here to trawl for as many instances as possible.
> Thanks Ferdy for the attention to detail... as always (anyone) please add your comments,
opinions to this issue.

This message was sent by Atlassian JIRA

View raw message