hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ravi Gummadi (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-927) Cleanup of task-logs should happen in TaskTracker instead of the Child
Date Tue, 02 Mar 2010 06:37:27 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840032#action_12840032

Ravi Gummadi commented on MAPREDUCE-927:

>Creation of the localFS should not be in a static block. In the past also, we did this
and realized it creates a kind of circular initialization of loggers and results in NPE while
creating log objects which can be seen in task-logs.
>>Can you elaborate this? How will static initialization code result into circular initialization
of loggers? How will this result into NPE?

LogFactory.getLog() in Configuration.java goes through log4j.Logger.getLogger() and calls
activateOptions() that again calls TaskLog.getTaskLogFile(). Since TaskLog.getTaskLogFile()
is a static method, the static block in TaskLog.java gets executed and that calls new Configuration().
Thus, from static LOG = LogFactory.getLog(Configuration.class) to we came back to constructor
of Configuration() and now the constructor is getting executed(even though the static blocks
of Configuration.java are not finished execution). The constructor of Configuration() was
doing LOG.isDebugEnabled(){.....} and LOG is null now and thus resulting in NPE.
Hope that helps.

> Cleanup of task-logs should happen in TaskTracker instead of the Child
> ----------------------------------------------------------------------
>                 Key: MAPREDUCE-927
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-927
>             Project: Hadoop Map/Reduce
>          Issue Type: Sub-task
>          Components: security, tasktracker
>    Affects Versions: 0.21.0
>            Reporter: Vinod K V
>            Assignee: Amareshwari Sriramadasu
>            Priority: Blocker
>             Fix For: 0.21.0
>         Attachments: patch-927-1.txt, patch-927.txt
> Task logs' cleanup is being done in Child now. This is undesirable atleast for two reasons:
1) failures while cleaning up will affect the user's tasks, and 2) the task's wall time will
get affected due to operations that TT actually should own.

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

View raw message