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 "Steve Loughran (JIRA)" <ji...@apache.org> on 2009/01/28 12:48:59 UTC

[jira] Created: (HADOOP-5136) NPE in TaskInProgress.cleanup

NPE in TaskInProgress.cleanup
-----------------------------

                 Key: HADOOP-5136
                 URL: https://issues.apache.org/jira/browse/HADOOP-5136
             Project: Hadoop Core
          Issue Type: Bug
          Components: mapred
    Affects Versions: 0.21.0
            Reporter: Steve Loughran
            Priority: Minor


This may be something that only my code triggers; an NPE in TaskTracker$TaskInProgress.cleanup
{code}
[sf-startdaemon-debug] 09/01/28 11:41:06 [TaskLauncher for task] INFO mapred.TaskTracker : Error cleaning up task runner: java.lang.NullPointerException
[sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker$TaskInProgress.cleanup(TaskTracker.java:2487)
[sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:1825)
[sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker.access$1100(TaskTracker.java:104)
[sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker$TaskLauncher.run(TaskTracker.java:1779)
{code}

Looking at the code, the only source of NPE's on that line is localJobConf
{code}
  if (localJobConf.getNumTasksToExecutePerJvm() == 1) {
{code}

It looks like if TaskInProgress.cleanup() ever gets called with no valid localJobConf, then an NPE is the result. The exception gets logged and discarded, but it does appear in the logs.

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


[jira] Commented: (HADOOP-5136) NPE in TaskInProgress.cleanup

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-5136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668013#action_12668013 ] 

Steve Loughran commented on HADOOP-5136:
----------------------------------------

Likely cause is
# {{localJobConf}} is set in {{TaskInProgress.launchTaskForJob()}}, which happens at the end of {{TaskInProgress.localizeJob()}}; if localizeJob() fails early due to some problem (in my case, HDFS not being fully live), then the class is not fully initialized.

If the TT gives up on the task and calls cleanup(true), then the task NPEs.

> NPE in TaskInProgress.cleanup
> -----------------------------
>
>                 Key: HADOOP-5136
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5136
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.21.0
>            Reporter: Steve Loughran
>            Priority: Minor
>
> This may be something that only my code triggers; an NPE in TaskTracker$TaskInProgress.cleanup
> {code}
> [sf-startdaemon-debug] 09/01/28 11:41:06 [TaskLauncher for task] INFO mapred.TaskTracker : Error cleaning up task runner: java.lang.NullPointerException
> [sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker$TaskInProgress.cleanup(TaskTracker.java:2487)
> [sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:1825)
> [sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker.access$1100(TaskTracker.java:104)
> [sf-startdaemon-debug] 	at org.apache.hadoop.mapred.TaskTracker$TaskLauncher.run(TaskTracker.java:1779)
> {code}
> Looking at the code, the only source of NPE's on that line is localJobConf
> {code}
>   if (localJobConf.getNumTasksToExecutePerJvm() == 1) {
> {code}
> It looks like if TaskInProgress.cleanup() ever gets called with no valid localJobConf, then an NPE is the result. The exception gets logged and discarded, but it does appear in the logs.

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