You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Arun C Murthy (JIRA)" <ji...@apache.org> on 2007/10/13 11:21:50 UTC

[jira] Created: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
--------------------------------------------------------------

                 Key: HADOOP-2051
                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
             Project: Hadoop
          Issue Type: Bug
          Components: mapred
    Affects Versions: 0.15.0
            Reporter: Arun C Murthy
            Assignee: Arun C Murthy
            Priority: Blocker
             Fix For: 0.15.0


The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.

The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535223 ] 

Hadoop QA commented on HADOOP-2051:
-----------------------------------

+1 overall.  Here are the results of testing the latest attachment 
http://issues.apache.org/jira/secure/attachment/12367808/HADOOP-2051_2_20071016.patch
against trunk revision r584939.

    @author +1.  The patch does not contain any @author tags.

    javadoc +1.  The javadoc tool did not generate any warning messages.

    javac +1.  The applied patch does not generate any new compiler warnings.

    findbugs +1.  The patch does not introduce any new Findbugs warnings.

    core tests +1.  The patch passed core unit tests.

    contrib tests +1.  The patch passed contrib unit tests.

Test results: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/955/testReport/
Findbugs warnings: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/955/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/955/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/955/console

This message is automatically generated.

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch, HADOOP-2051_2_20071016.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Updated: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Devaraj Das updated HADOOP-2051:
--------------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

I just committed this. Thanks Arun!

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch, HADOOP-2051_2_20071016.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535526 ] 

Hudson commented on HADOOP-2051:
--------------------------------

Integrated in Hadoop-Nightly #275 (See [http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/275/])

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch, HADOOP-2051_2_20071016.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Updated: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy updated HADOOP-2051:
----------------------------------

    Status: Open  (was: Patch Available)

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Updated: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy updated HADOOP-2051:
----------------------------------

    Status: Patch Available  (was: Open)

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch, HADOOP-2051_2_20071016.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Updated: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy updated HADOOP-2051:
----------------------------------

    Attachment: HADOOP-2051_1_20071013.patch

Here is a patch which ignores all exceptions (after logging) in {{JobTracker#TaskCommitQueue#run}}, similar to other long-running threads in the {{JobTracker}}.

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Updated: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy updated HADOOP-2051:
----------------------------------

    Status: Patch Available  (was: Open)

Submitting patch for review. 

Thanks to Devaraj and Christian for their help on this one!

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Updated: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy updated HADOOP-2051:
----------------------------------

    Attachment: HADOOP-2051_2_20071016.patch

Here is a new patch incorporating the received feedback... I've created HADOOP-2062 as a follow-up.

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch, HADOOP-2051_2_20071016.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534538 ] 

Hadoop QA commented on HADOOP-2051:
-----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
http://issues.apache.org/jira/secure/attachment/12367681/HADOOP-2051_1_20071013.patch
against trunk revision r584336.

    @author +1.  The patch does not contain any @author tags.

    javadoc +1.  The javadoc tool did not generate any warning messages.

    javac +1.  The applied patch does not generate any new compiler warnings.

    findbugs -1.  The patch appears to introduce 1 new Findbugs warnings.

    core tests +1.  The patch passed core unit tests.

    contrib tests +1.  The patch passed contrib unit tests.

Test results: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/943/testReport/
Findbugs warnings: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/943/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/943/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/943/console

This message is automatically generated.

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534887 ] 

Devaraj Das commented on HADOOP-2051:
-------------------------------------

Arun, could you please modify the patch to do "return" when InterruptedException is thrown by queue.take().

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534583 ] 

Devaraj Das commented on HADOOP-2051:
-------------------------------------

Exception in thread "Task Commit Thread" java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/JobHistory$HistoryCleaner
        at org.apache.hadoop.mapred.JobHistory$JobInfo.logFinished(JobHistory.java:439)
        at org.apache.hadoop.mapred.JobInProgress.isJobComplete(JobInProgress.java:877)
        at org.apache.hadoop.mapred.JobInProgress.completedTask(JobInProgress.java:827)
        at org.apache.hadoop.mapred.JobInProgress.updateTaskStatus(JobInProgress.java:400)
        at org.apache.hadoop.mapred.JobTracker$TaskCommitQueue.run(JobTracker.java:1977)

In Christian's jobtracker.out file, I found this exception. This would make the thread go away.

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534960 ] 

Doug Cutting commented on HADOOP-2051:
--------------------------------------

> FindBugs is complaining that I'm catching Exception, which is precisely the point of this jira.

Maybe you should catch Throwable instead?


> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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


[jira] Commented: (HADOOP-2051) JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534796 ] 

Arun C Murthy commented on HADOOP-2051:
---------------------------------------

FindBugs is complaining that I'm catching Exception, which is precisely the point of this jira. *smile*

{noformat}
REC_CATCH_EXCEPTION: Exception is caught when Exception is not thrown

This method uses a try-catch block that catches Exception objects, but Exception is not thrown within the try block, and RuntimeException is not explicitly caught. 
It is a common bug pattern to say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well, masking potential bugs. 
{noformat}

> JobTracker's TaskCommitQueue is vulnerable to non-IOExceptions
> --------------------------------------------------------------
>
>                 Key: HADOOP-2051
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2051
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.15.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.15.0
>
>         Attachments: HADOOP-2051_1_20071013.patch
>
>
> The {{JobTracker#TaskCommitQueue#run}} method only handles {{IOException}}s. Christian Kunz ran into a scenario where a job was stuck with all tasks in {{COMMIT_PENDING}} state and the stack traces showed that the "Task Commit Thread" wasn't even around.
> The work-around is to model {{TaskCommitQueue#run}} along the lines of other long-running threads in the {{JobTracer}} ({{ExpireLaunchingTasks}}, {{ExpireTrackers}} etc.) to catch, log and ignore any {{Exception}} in a loop.

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