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 "Todd Lipcon (JIRA)" <ji...@apache.org> on 2011/03/08 19:45:59 UTC
[jira] Resolved: (MAPREDUCE-2370) JobConf.findContainingJar
incorrectly transforms paths containing '+' character
[ https://issues.apache.org/jira/browse/MAPREDUCE-2370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon resolved MAPREDUCE-2370.
------------------------------------
Resolution: Duplicate
Duplicate of MAPREDUCE-714
> JobConf.findContainingJar incorrectly transforms paths containing '+' character
> -------------------------------------------------------------------------------
>
> Key: MAPREDUCE-2370
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2370
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: job submission
> Affects Versions: 0.20.3
> Reporter: Tony Valderrama
> Priority: Minor
>
> Due to the usage of URLDecoder in JobConf#findContainingJar, the path will be incorrectly modified if it contains the '+' character. URLDecoder is intended for HTML form data (application/x-www-form-urlencoded), so all '+' will be converted to ' '.
> This is easy to reproduce - install hadoop at a path which contains a '+' character and try to run a distcp job. Mapreduce will fail to locate hadoop-tools.jar. I have only investigated this error on 0.20.3-rc2.
> Below is the exception which indicate the failure (correct path is /home/user/build/hadoop-core-0.20.3+8/hadoop-tools-0.20.3+8.jar):
> Copy failed: java.io.FileNotFoundException: File /home/user/build/hadoop-core-0.20.3 8/hadoop-tools-0.20.3 8.jar does not exist.
> at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:361)
> at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245)
> at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:192)
> at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1189)
> at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1165)
> at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1137)
> at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:657)
> at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:761)
> at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:730)
> at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1249)
> at org.apache.hadoop.tools.DistCp.copy(DistCp.java:651)
> at org.apache.hadoop.tools.DistCp.run(DistCp.java:857)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
> at org.apache.hadoop.tools.DistCp.main(DistCp.java:884)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira