You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Kai Sasaki (JIRA)" <ji...@apache.org> on 2016/03/13 06:12:33 UTC

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

    [ https://issues.apache.org/jira/browse/MAPREDUCE-6110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15192132#comment-15192132 ] 

Kai Sasaki commented on MAPREDUCE-6110:
---------------------------------------

[~gtCarrera] Could you review it when you have time?

> 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
>            Assignee: Kai Sasaki
>            Priority: Minor
>         Attachments: MAPREDUCE-6110.01.patch, MAPREDUCE-6110.02.patch
>
>
> 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)