You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-user@hadoop.apache.org by "Francis.Hu" <fr...@reachjunction.com> on 2013/08/20 11:37:05 UTC

Cannot kill a job with correct job ID.

Hi, All

 

In my resources manager web page, I see the job
application_1376968101508_0009 is running.

I want to kill the job with the command:  bin/mapred job -kill
application_1376968101508_0009

It throws below error at all the time :

 

Exception in thread "main" java.lang.IllegalArgumentException: JobId string
: application_1376968101508_0009 is not properly formed

        at org.apache.hadoop.mapreduce.JobID.forName(JobID.java:156)

        at org.apache.hadoop.mapreduce.tools.CLI.run(CLI.java:276)

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

 

And then looked at the source code of JobID class, found below method :
JobID.forName(String). 

It means we need to kill a job with name "job_1376968101508_0009", not
"application_1376968101508_0009".

That is really strange to kill a job with special name and without the
actual job name showing in resources manager UI.

Is this an existing issue ?

 

protected static final String JOB = "job";

public static JobID forName(String str) throws IllegalArgumentException {

    if(str == null)

      return null;

    try {

      String[] parts = str.split("_");

      if(parts.length == 3) {

        if(parts[0].equals(JOB)) {

          return new org.apache.hadoop.mapred.JobID(parts[1], 

 
Integer.parseInt(parts[2]));

        }

      }

    }catch (Exception ex) {//fall below

    }

    throw new IllegalArgumentException("JobId string : " + str 

        + " is not properly formed");

  }

 

 

Thanks,

Francis.Hu