Li Lu created MAPREDUCE-6110: -------------------------------- Summary: JobHistoryServer CLI throws NullPointerException with job ids that do not exist Key: MAPREDUCE-6110 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6110 Project: Hadoop Map/Reduce Issue Type: Bug Components: jobhistoryserver Reporter: Li Lu Priority: Minor
When using JobHistoryServer CLI to query a job id that does not exist on the server, it may throw NullPointerException sometimes. I tried "mapred job -events <some_wrong_jobId> 0 100", and the result was: Exception in thread "main" java.lang.NullPointerException at org.apache.hadoop.mapreduce.tools.CLI.listEvents(CLI.java:487) at org.apache.hadoop.mapreduce.tools.CLI.run(CLI.java:316) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) at org.apache.hadoop.mapred.JobClient.main(JobClient.java:1237) Similar symptoms also appear with -list-attempt-ids, but were fine with -status and -set-priority. I traced back to CLI.listEvents, and line 487 is: {code} TaskCompletionEvent[] events = job. getTaskCompletionEvents(fromEventId, numEvents); {code} The job object is obtained from JobID.forName(jobid)) (line 316), which will return null if the job does not exist on server. Maybe we want to have some behaviors consistent with -status here, by simply reporting jobId does not exist? -- This message was sent by Atlassian JIRA (v6.3.4#6332)