You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Li Lu (JIRA)" <ji...@apache.org> on 2014/09/25 23:11:34 UTC

[jira] [Created] (MAPREDUCE-6110) JobHistoryServer CLI throws NullPointerException with job ids that do not exist

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)