Return-Path: Delivered-To: apmail-hadoop-mapreduce-issues-archive@minotaur.apache.org Received: (qmail 92296 invoked from network); 8 Mar 2011 18:40:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Mar 2011 18:40:31 -0000 Received: (qmail 24865 invoked by uid 500); 8 Mar 2011 18:40:30 -0000 Delivered-To: apmail-hadoop-mapreduce-issues-archive@hadoop.apache.org Received: (qmail 24786 invoked by uid 500); 8 Mar 2011 18:40:30 -0000 Mailing-List: contact mapreduce-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mapreduce-issues@hadoop.apache.org Delivered-To: mailing list mapreduce-issues@hadoop.apache.org Received: (qmail 24672 invoked by uid 99); 8 Mar 2011 18:40:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Mar 2011 18:40:30 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Mar 2011 18:40:28 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 5C6D139D956 for ; Tue, 8 Mar 2011 18:40:06 +0000 (UTC) Date: Tue, 8 Mar 2011 18:40:06 +0000 (UTC) From: "Tony Valderrama (JIRA)" To: mapreduce-issues@hadoop.apache.org Message-ID: <713059234.5712.1299609606375.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] Created: (MAPREDUCE-2370) JobConf.findContainingJar incorrectly transforms paths containing '+' character MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org 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