hadoop-mapreduce-issues mailing list archives

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

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

Li Lu commented on MAPREDUCE-6110:

[~kaisasak], thanks for the work and sorry for the delay... Patch generally LGTM, the only
question is, could you please quickly verify if the {{else if (logs)}} block will also hit
the same issue (maybe through a simple UT)? If it will hit problem, we can fix that as well?

> 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

View raw message