[ http://issues.apache.org/jira/browse/HADOOP-129?page=comments#action_12373924 ]
Andrzej Bialecki commented on HADOOP-129: ------------------------------------------ I think we should change this to a Hadoop-specific class, e.g. FileName (not a simple String - too limiting). FileName-s could only be used when holding a reference to a valid instance of FileSystem - this way operations like getParent() could always consult FileSystem-specific routines to resolve DFS names to real names in case of LocalFileSystem. I also propose that this class should be versioned, and contain some File-like metadata - for now I'm thinking specifically about creation / modification time. > FileSystem should not name files with java.io.File > -------------------------------------------------- > > Key: HADOOP-129 > URL: http://issues.apache.org/jira/browse/HADOOP-129 > Project: Hadoop > Type: Improvement > Components: fs > Versions: 0.1.1, 0.1.0 > Reporter: Doug Cutting > Fix For: 0.2 > > In Hadoop's FileSystem API, files are currently named using java.io.File. > This is confusing, as many methods on that class are inappropriate to call on > Hadoop paths. For example, calling isDirectory(), exists(), etc. on a > java.io.File is not the same as calling FileSystem.isDirectory() or > FileSystem.exists() passing that same file. Using java.io.File also makes > correct operation on Windows difficult, since java.io.File operates > differently on Windows in order to accomodate Windows path names. For > example, new File("/foo") is not absolute on Windows, and prints its path as > "\\foo", which causes confusion. > To fix this we could replace the uses of java.io.File in the FileSystem API > with String, a new FileName class, or perhaps java.net.URI. The advantage of > URI is that it can also naturally include the namenode host and port. The > disadvantage is that URI does not support tree operations like getParent(). > This change will cause a lot of incompatibility. Thus it should probably be > made early in a development cycle in order to maximize the time for folks to > adapt to it. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
