You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Chuan Liu (JIRA)" <ji...@apache.org> on 2014/01/28 19:41:44 UTC

[jira] [Updated] (HADOOP-10272) Hadoop 2 "-copyFromLocal" fail when source is a folder and there are spaces in the path

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

Chuan Liu updated HADOOP-10272:
-------------------------------

    Attachment: HADOOP-10272.patch

The root cause is that {{PathData.getStringForChildPath()}} will return a path string that is encoded, i.e. ' ' will be encoded as '%20'. This path string will later be used again in the Path constructor to pass to URI constructor, and lead to double encoding. The wrongly encoded path will later lead to a copy failure, because the wrongly encoded path is on longer the original user input path. I suspect Unix/Linux also has this problem unless the Java URI implementation is different on Unix/Linux platform. Attaching a patch that address the issue. 

> Hadoop 2 "-copyFromLocal" fail when source is a folder and there are spaces in the path
> ---------------------------------------------------------------------------------------
>
>                 Key: HADOOP-10272
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10272
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 2.2.0
>            Reporter: Shuaishuai Nie
>            Assignee: Chuan Liu
>         Attachments: HADOOP-10272.patch
>
>
> Repro steps:
> with folder structure like: /ab/c d/ef.txt
> hadoop command (hadoop fs -copyFromLocal /ab/ /) or (hadoop fs -copyFromLocal "/ab/c d/" /) fail with error:
> copyFromLocal: File file:/ab/c%20d/ef.txt does not exist
> However command (hadoop fs -copyFromLocal "/ab/c d/ef.txt" /) success.
> Seems like hadoop treat file and directory differently when "copyFromLocal".
> This only happens in Hadoop 2 and causing 2 Hive unit test failures (external_table_with_space_in_location_path.q and load_hdfs_file_with_space_in_the_name.q).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)