[
https://issues.apache.org/jira/browse/HADOOP-9761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13725460#comment-13725460
]
Colin Patrick McCabe commented on HADOOP-9761:
----------------------------------------------
{code}
+ // Assumes path belongs to this FileSystem.
+ // Callers are responsible for checking this
+ FileSystem fs = filesys;
{code}
Thanks for the explanation about this. Can we add a comment like "this is
validated in {{FileSystem#checkPath}}"?
{code}
+ if (fs.getUri() != getUri()) {
+ throw new IOException("Renames across FileSystems not supported");
+ }
{code}
We should be using {{equals}} here, not {{!=}}.
+1 once those are addressed.
> ViewFileSystem#rename fails when using DistributedFileSystem
> ------------------------------------------------------------
>
> Key: HADOOP-9761
> URL: https://issues.apache.org/jira/browse/HADOOP-9761
> Project: Hadoop Common
> Issue Type: Bug
> Components: viewfs
> Affects Versions: 3.0.0, 2.1.0-beta
> Reporter: Andrew Wang
> Assignee: Andrew Wang
> Attachments: 0001-HADOOP-9761.004.patch, hadoop-9761-1.patch,
> hadoop-9761-1.patch
>
>
> ViewFileSystem currently passes unqualified paths (no scheme or authority) to
> underlying FileSystems when doing a rename. DistributedFileSystem symlink
> support added in HADOOP-9418 needs to qualify and check rename sources and
> destinations since cross-filesystem renames aren't supported, so this breaks
> in the following way
> - Default FS URI is configured to viewfs://<viewfs>
> - When doing a rename, ViewFileSystem checks to make sure both src and dst
> FileSystems are the same (which they are, both in same DFS), and then calls
> DistributedFileSystem#rename with unqualified "remainder" paths
> - Since these paths are unqualified, DFS qualifies them with the default FS
> to check that it can do the rename. This turns it into
> viewfs://<viewfs>/<path>
> - Since viewfs://<viewfs> is not the DFS's URI, DFS errors out the rename.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira