[ 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