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

Reply via email to