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

Uma Maheswara Rao G updated HDFS-15592:
---------------------------------------
    Summary: DistCP fails with ViewHDFS and preserveEC options if the actual 
target path is non HDFS  (was: DistCP fails with ViewHDFS if the actual target 
path is non HDFS)

> DistCP fails with ViewHDFS and preserveEC options if the actual target path 
> is non HDFS
> ---------------------------------------------------------------------------------------
>
>                 Key: HDFS-15592
>                 URL: https://issues.apache.org/jira/browse/HDFS-15592
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: viewfs, ViewHDFS
>    Affects Versions: 3.4.0
>            Reporter: Uma Maheswara Rao G
>            Assignee: Uma Maheswara Rao G
>            Priority: Major
>
> When we configure target path mount point with Ozone (or any other fs), 
> distcp will fail.
> The reason is, if the src path having ec policy enabled, it will try to 
> retain that properties.SO, in this case it is using DFS specific createFile 
> API.
> But here we have to ensure, tareget path can from non hdfs in ViewHDFS case. 
> In RetriayableFIleCopyCommand#copyToFile, we should fix the following piece 
> of code.
>  
> {code:java}
> if (preserveEC && sourceStatus.isErasureCoded()
>  && sourceStatus instanceof HdfsFileStatus
>  && targetFS instanceof DistributedFileSystem) {
>  ecPolicy = ((HdfsFileStatus) sourceStatus).getErasureCodingPolicy();
> }{code}
>  
> Here it's just checking targetFs instanceof DistributedFileSystem, but in 
> ViewHDFS case, fs will be DFS only but actual target can point to mounted fs. 
> So, to handle this case, we should use resolvePath API and check the resolved 
> target path scheme is dfs or or not.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to