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 "Rohith (JIRA)" <ji...@apache.org> on 2014/02/25 04:07:19 UTC

[jira] [Commented] (MAPREDUCE-5764) Potential NullPointerException in YARNRunner.killJob(JobID arg0)

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

Rohith commented on MAPREDUCE-5764:
-----------------------------------

Yes Jason Lowe, it is duplicate. I shall take care before raising an issue avoding Jira Id waste :-(

> Potential NullPointerException in YARNRunner.killJob(JobID arg0)
> ----------------------------------------------------------------
>
>                 Key: MAPREDUCE-5764
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5764
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 2.3.0
>            Reporter: Rohith
>            Assignee: Rohith
>
> I found YARNRunner.killJob(JobID arg0) can throw NullPointerExpetion if job status is null. 
> bq. clientCache.getClient(arg0).getJobStatus(arg0);  can be null.
> This can happen when there is history write is failed because of hdfs errors or staging directory is different from history server..
>  
> We need to have null check otherwise killJob() is prone to throw NPE which cause joblient to exit.
> {noformat}
> @Override
>   public void killJob(JobID arg0) throws IOException, InterruptedException {
>     /* check if the status is not running, if not send kill to RM */
>     JobStatus status = clientCache.getClient(arg0).getJobStatus(arg0);
>     if (status.getState() != JobStatus.State.RUNNING) {
>       try {
>         resMgrDelegate.killApplication(TypeConverter.toYarn(arg0).getAppId());
>       } catch (YarnException e) {
>         throw new IOException(e);
>       }
>       return;
>     }
> .......
> ......
> .......
>   }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)