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

Reply via email to