hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Kellerman (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-2323) JobTracker.close() prints stack traces for exceptions that are not errors
Date Mon, 03 Dec 2007 01:46:52 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-2323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547711
] 

Jim Kellerman commented on HADOOP-2323:
---------------------------------------

Owen,

I agree with you, but not knowing the internals of the JobTracker that well, did not know
if there was a reason that JobTracker$ExpireTrackers and JobTracker$TaskCommitQueue were different
from the other threads and intentionally let the exception escape rather than shut down.

Most of the other threads also use a class-level boolean but that is probably not necessary.
A boolean in the method (or just breaking out of the loop) would work just as well.

I'll work up a more minimal patch along these lines and you (or someone else who knows JobTracker)
can decide which patch you like.

-Jim

> JobTracker.close() prints stack traces for exceptions that are not errors
> -------------------------------------------------------------------------
>
>                 Key: HADOOP-2323
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2323
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.16.0
>            Reporter: Jim Kellerman
>            Assignee: Jim Kellerman
>             Fix For: 0.16.0
>
>         Attachments: patch.txt
>
>
> JobTracker.close() prints a stack trace for an interrupted exception even though it was
the method that interrupted the thread that threw the exception. For example:
> {code}
>       this.expireTrackers.stopTracker();
>       try {
>         this.expireTrackersThread.interrupt();
>         this.expireTrackersThread.join();
>       } catch (InterruptedException ex) {
>         ex.printStackTrace();
>       }
> {code}
> Well of course it is going to catch an InterruptedException after it just interrupted
the thread!
> This is *not* an error and should  *not* be dumped to the logs!
> In other circumstances, catching InterruptedException is entirely appropriate. Just not
in close where you've told the thread to shutdown and then interrupted it to ensure it does!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message