[ 
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

Reply via email to