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 "Jason Lowe (JIRA)" <ji...@apache.org> on 2014/02/24 15:01:21 UTC

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

     [ https://issues.apache.org/jira/browse/MAPREDUCE-5764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Lowe resolved MAPREDUCE-5764.
-----------------------------------

    Resolution: Duplicate

This is a duplicate of MAPREDUCE-5542.

> 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)