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

Aaron T. Myers moved HDFS-6152 to HADOOP-10459:
-----------------------------------------------

          Component/s:     (was: hdfs-client)
                       tools/distcp
     Target Version/s: 2.5.0  (was: 2.5.0)
    Affects Version/s:     (was: 2.3.0)
                       2.3.0
                  Key: HADOOP-10459  (was: HDFS-6152)
              Project: Hadoop Common  (was: Hadoop HDFS)

> distcp V2 doesn't preserve root dir's attributes when -p is specified
> ---------------------------------------------------------------------
>
>                 Key: HADOOP-10459
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10459
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: tools/distcp
>    Affects Versions: 2.3.0
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>         Attachments: HDFS-6152.001.patch, HDFS-6152.002.patch, 
> HDFS-6152.002.patch, HDFS-6152.003.patch
>
>
> Two issues were observed with distcpV2
> ISSUE 1. when copying a source dir to target dir with "-pu" option using 
> command 
>   "distcp -pu source-dir target-dir"
>  
> The source dir's owner is not preserved at target dir. Simiarly other 
> attributes of source dir are not preserved.  Supposedly they should be 
> preserved when no -update and no -overwrite specified. 
> There are two scenarios with the above command:
> a. when target-dir already exists. Issuing the above command will  result in 
> target-dir/source-dir (source-dir here refers to the last component of the 
> source-dir path in the command line) at target file system, with all contents 
> in source-dir copied to under target-dir/src-dir. The issue in this case is, 
> the attributes of src-dir is not preserved.
> b. when target-dir doesn't exist. It will result in target-dir with all 
> contents of source-dir copied to under target-dir. This issue in this  case 
> is, the attributes of source-dir is not carried over to target-dir.
> For multiple source cases, e.g., command 
>   "distcp -pu source-dir1 source-dir2 target-dir"
> No matter whether the target-dir exists or not, the multiple sources are 
> copied to under the target dir (target-dir is created if it didn't exist). 
> And their attributes are preserved. 
> ISSUE 2. with the following command:
>   "distcp source-dir target-dir"
> when source-dir is an empty directory, and when target-dir doesn't exist, 
> source-dir is not copied, actually the command behaves like a no-op. However, 
> when the source-dir is not empty, it would be copied and results in 
> target-dir at the target file system containing a copy of source-dir's 
> children.
> To be consistent, empty source dir should be copied too. Basically the  above 
> distcp command should cause target-dir get created at target file system, and 
> the source-dir's attributes are preserved at target-dir when -p is passed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to