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 "Vinod Kumar Vavilapalli (JIRA)" <ji...@apache.org> on 2011/07/29 14:07:09 UTC

[jira] [Commented] (MAPREDUCE-2716) MR279: MRReliabilityTest job fails because of missing job-file.

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

Vinod Kumar Vavilapalli commented on MAPREDUCE-2716:
----------------------------------------------------

That's more like it.

But this patch has one issue in {{ClientServiceDelegate.getAllJobs()}}. After getting the app-list from  the resource-manager, we also make more trips one per job to the RM via {{getJobState(JobId oldJobId)}} (ClientServiceDelegate.java +342 after applying your patch). Which is unnecessary.

Instead, we can use just get the JobStatus using the already present {{TypeConverter.fromYarn(ApplicationReport report)}} and set the job-file on the JobStatus to be {{conf.get("yarn.apps.stagingDir") + "/" + jobId.toString()}}. Once you do this, you will also not need the new {{fromYarn(ApplicationReport report, JobStatus status)}} utility in TypeConverter.

Regarding your other comment about other places that use {{TypeConverter.fromYarn(ApplicationReport report)}}. Yes that is a problem. So I propose we change it to {{TypeConverter.fromYarn(ApplicationReport report, Configuration conf)}} and set job-file using conf as described above and use this method everywhere.

> MR279: MRReliabilityTest job fails because of missing job-file.
> ---------------------------------------------------------------
>
>                 Key: MAPREDUCE-2716
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2716
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: 0.23.0
>            Reporter: Jeffrey Naisbitt
>            Assignee: Jeffrey Naisbitt
>             Fix For: 0.23.0
>
>         Attachments: MAPREDUCE-2716-v2.patch, MAPREDUCE-2716-v3.patch, MAPREDUCE-2716.patch
>
>
> The ApplicationReport should have the jobFile (e.g. hdfs://localhost:9000/tmp/hadoop-<USER>/mapred/staging/<USER>/.staging/job_201107121640_0001/job.xml)
> Without it, jobs such as MRReliabilityTest fail with the following error (caused by the fact that jobFile is hardcoded to "" in TypeConverter.java):
> e.g. java.lang.IllegalArgumentException: Can not create a Path from an empty string
>         at org.apache.hadoop.fs.Path.checkPathArg(Path.java:88)
>         at org.apache.hadoop.fs.Path.<init>(Path.java:96)
>         at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:445)
>         at org.apache.hadoop.mapreduce.Cluster.getJobs(Cluster.java:104)
>         at org.apache.hadoop.mapreduce.Cluster.getAllJobs(Cluster.java:218)
>         at org.apache.hadoop.mapred.JobClient.getAllJobs(JobClient.java:757)
>         at org.apache.hadoop.mapred.JobClient.jobsToComplete(JobClient.java:741)
>         at org.apache.hadoop.mapred.ReliabilityTest.runTest(ReliabilityTest.java:219)
>         at org.apache.hadoop.mapred.ReliabilityTest.runSleepJobTest(ReliabilityTest.java:133)
>         at org.apache.hadoop.mapred.ReliabilityTest.run(ReliabilityTest.java:116)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:69)
>         at org.apache.hadoop.mapred.ReliabilityTest.main(ReliabilityTest.java:504)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
>         at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:144)
>         at org.apache.hadoop.test.MapredTestDriver.run(MapredTestDriver.java:111)
>         at org.apache.hadoop.test.MapredTestDriver.main(MapredTestDriver.java:118)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.util.RunJar.main(RunJar.java:192)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira