You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-user@hadoop.apache.org by Liqi Gao <ga...@gmail.com> on 2014/03/15 09:01:17 UTC

NullPointerException in TaskLogAppender.flush()

Hi friends,

I got an annoying exception in a Hadoop mapper:
---------------------------
15-03-2014 15:32:00,212 INFO  [main] mapred.Task -
Task:attempt_201403141642_0011_m_000000_0 is done. And is in the process of
commiting
15-03-2014 15:32:03,266 INFO  [main] mapred.Task - Task
attempt_201403141642_0011_m_000000_0 is allowed to commit now
15-03-2014 15:32:03,303 INFO  [main] output.FileOutputCommitter - Saved
output of task 'attempt_201403141642_0011_m_000000_0' to out-1394868707812
15-03-2014 15:32:03,895 INFO  [main] mapred.Task - Task
'attempt_201403141642_0011_m_000000_0' done.
15-03-2014 15:32:03,896 WARN  [main] mapred.Child - Error running child

*java.lang.NullPointerException*
at org.apache.hadoop.mapred.TaskLogAppender.flush(TaskLogAppender.java:67)
at org.apache.hadoop.mapred.TaskLog.syncLogs(TaskLog.java:341)
at org.apache.hadoop.mapred.Child$4.run(Child.java:257)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
15-03-2014 15:32:03,900 WARN  [main] mapred.Task - Parent died.  Exiting
attempt_201403141642_0011_m_000000_0
---------------------------

I guess it might be involved with log4j. In the job jar file, there is a
`log.property' file:
---------------------------
log4j.rootLogger=INFO, console

#log4j.logger.com.ibatis=DEBUG
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.com.ibatis.sqlmap.client.SqlMapClient=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.execution.SqlExecutor=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.mapping.statement.MappedStatement=DEBUG
#log4j.logger.java.sql.Connection=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
#log4j.logger.java.sql.PreparedStatement=DEBUG

#log4j.logger.java.sql.ResultSet=DEBUG

#console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss,SSS}
%-5p [%t] %c{2} - %m%n

log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG
------------------------

No matter the file is included in the jar file or not, the exception
remains. I searched the exception but found no proper solutions. Can anyone
tell me how to fix it? Any suggestions would be appreciated.

- Liqi Gao