[ https://issues.apache.org/jira/browse/MAPREDUCE-2470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Joseph Evans updated MAPREDUCE-2470: ------------------------------------------- Status: Patch Available (was: Reopened) > Receiving NPE occasionally on RunningJob.getCounters() call > ----------------------------------------------------------- > > Key: MAPREDUCE-2470 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-2470 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: client > Affects Versions: 0.21.0 > Environment: FreeBSD, Java6, Hadoop r0.21.0 > Reporter: Aaron Baff > Assignee: Robert Joseph Evans > Fix For: 0.23.0 > > Attachments: MAPREDUCE-2470-v1.patch, MAPREDUCE-2470-v2.patch, > MAPREDUCE-2470-v3.patch, counters_null_data.pcap > > > This is running in a Java daemon that is used as an interface (Thrift) to get > information and data from MR Jobs. Using JobClient.getJob(JobID) I > successfully get a RunningJob object (I'm checking for NULL), and then rarely > I get an NPE when I do RunningJob.getCounters(). This seems to occur after > the daemon has been up and running for a while, and in the event of an > Exception, I close the JobClient, set it to NULL, and a new one should then > be created on the next request for data. Yet, I still seem to be unable to > fetch the Counters. Below is the stack trace. > java.lang.NullPointerException > at org.apache.hadoop.mapred.Counters.downgrade(Counters.java:77) > at > org.apache.hadoop.mapred.JobClient$NetworkedJob.getCounters(JobClient.java:381) > at > com.telescope.HadoopThrift.service.ServiceImpl.getReportResults(ServiceImpl.java:350) > at > com.telescope.HadoopThrift.gen.HadoopThrift$Processor$getReportResults.process(HadoopThrift.java:545) > at > com.telescope.HadoopThrift.gen.HadoopThrift$Processor.process(HadoopThrift.java:421) > at > org.apache.thrift.server.TNonblockingServer$FrameBuffer.invoke(TNonblockingServer.java:697) > at > org.apache.thrift.server.THsHaServer$Invocation.run(THsHaServer.java:317) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira