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

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

Without this patch, the following messages appear in test output when there is 
no error and the JobTracker is just shutting down normally:

{code}
    [junit] 2007-12-01 12:04:03,105 ERROR [expireTrackers] 
org.apache.hadoop.mapred.JobTracker$ExpireTrackers.run(JobTracker.java:308): 
Tracker Expiry Thread got exception: java.lang.InterruptedException: sleep 
interrupted
    [junit]     at java.lang.Thread.sleep(Native Method)
    [junit]     at 
org.apache.hadoop.mapred.JobTracker$ExpireTrackers.run(JobTracker.java:263)
    [junit]     at java.lang.Thread.run(Thread.java:595)

    [junit] 2007-12-01 12:04:03,106 WARN  [Task Commit Thread] 
org.apache.hadoop.mapred.JobTracker$TaskCommitQueue.run(JobTracker.java:2017): 
Task Commit Thread exiting, got interrupted: java.lang.InterruptedException
    [junit]     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1815)
    [junit]     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1850)
    [junit]     at 
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    [junit]     at 
org.apache.hadoop.mapred.JobTracker$TaskCommitQueue.run(JobTracker.java:1919)
{code}

with this patch, these error messages do not appear


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

Reply via email to