hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kai Sasaki (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-6110) JobHistoryServer CLI throws NullPointerException with job ids that do not exist
Date Fri, 18 Mar 2016 10:11:33 GMT

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

Kai Sasaki commented on MAPREDUCE-6110:

[~gtCarrera] Thanks for reviewing. As you said, {{logs}} options seems hit the same issue.
I also fixed it and updated the patch.
Could you review it again please?

> 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, MAPREDUCE-6110.03.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

View raw message