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

shanyu zhao updated HADOOP-9924:
--------------------------------

    Status: Patch Available  (was: Open)
    
> FileUtil.createJarWithClassPath() does not generate relative classpath 
> correctly
> --------------------------------------------------------------------------------
>
>                 Key: HADOOP-9924
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9924
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 0.23.9, 2.1.0-beta
>            Reporter: shanyu zhao
>            Assignee: shanyu zhao
>         Attachments: HADOOP-9924-2.patch, HADOOP-9924.patch
>
>
> On Windows, FileUtil.createJarWithClassPath() is called to generate a 
> manifest jar file to pack classpath - to avoid the problem of classpath being 
> too long.
> However, the relative classpath is not handled correctly. It relies on Java's 
> File(relativePath) to resolve the relative path. But it really should be 
> using the given pwd parameter to resolve the relative path.
> To reproduce this bug, you can try some pig job on Windows, it will fail and 
> the pig log on the application master will look like this:
> 2013-08-29 23:25:55,498 INFO [main] 
> org.apache.hadoop.service.AbstractService: Service 
> org.apache.hadoop.mapreduce.v2.app.MRAppMaster failed in state INITED; cause: 
> org.apache.hadoop.yarn.exceptions.YarnRuntimeException: 
> java.lang.RuntimeException: java.lang.ClassNotFoundException: Class 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat 
> not found
> org.apache.hadoop.yarn.exceptions.YarnRuntimeException: 
> java.lang.RuntimeException: java.lang.ClassNotFoundException: Class 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat 
> not found
> This is because the PigOutputFormat class is in the job.jar file but the 
> classpath manifest has:
> file:/c:/apps/dist/hadoop-2.1.0-beta/bin/job.jar/job.jar
> When it really should be:
> file:/<job container folder>/job.jar/job.jar

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to