You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "Sebastian Nagel (JIRA)" <ji...@apache.org> on 2015/12/08 22:15:11 UTC

[jira] [Commented] (NUTCH-2076) exceptions are not handled when using method waitForCompletion in a try block

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

Sebastian Nagel commented on NUTCH-2076:
----------------------------------------

After a second look: the problem is the return statement in the finally block which causes the exception not to be thrown. In case of an exception (as well as an unsuccessful job) we should either mark the failed job in the returned results structure or path the exception to the calling function.

> exceptions are not handled when using method waitForCompletion in a try block
> -----------------------------------------------------------------------------
>
>                 Key: NUTCH-2076
>                 URL: https://issues.apache.org/jira/browse/NUTCH-2076
>             Project: Nutch
>          Issue Type: Bug
>          Components: crawldb
>    Affects Versions: 2.2, 2.3
>            Reporter: songwanging
>            Priority: Minor
>
> Locations: src\java\org\apache\nutch\crawl\WebTableReader.java
> when using function waitForCompletion in a try block, exceptions are not handled :
> waitForCompletion might throw  : IOException, InterruptedException, ClassNotFoundException
> so when calling this function in a try block, we should use a catch block to handle potential Exceptions.
> public Map<String, Object> run(Map<String, Object> args) throws Exception {
> ...
> try {
>       currentJob.waitForCompletion(true);
>     } finally {
>       ToolUtil.recordJobStatus(null, currentJob, results);
>       if (!currentJob.isSuccessful()) {
>         fileSystem.delete(tmpFolder, true);
>         return results;
>       }
>     }
> ...
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)