You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2014/02/28 16:56:19 UTC
[jira] [Commented] (HDFS-303) Make contracts of LocalFileSystem and
DistributedFileSystem consistent
[ https://issues.apache.org/jira/browse/HDFS-303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13915915#comment-13915915 ]
Steve Loughran commented on HDFS-303:
-------------------------------------
incorporating HADOOP-10375 to fix part of the contract (mkdir over a file) failing
> Make contracts of LocalFileSystem and DistributedFileSystem consistent
> ----------------------------------------------------------------------
>
> Key: HDFS-303
> URL: https://issues.apache.org/jira/browse/HDFS-303
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Tom White
> Attachments: HDFS-303-common-test-case.patch, HDFS-303.patch, hadoop-4114.patch
>
>
> There are a number of edge cases that the two file system implementations handle differently. In particular:
> * When trying to make a directory under an existing file, HDFS throws an IOException while LocalFileSystem doesn't.
> * The FileSytem#listStatus(Path) method returns null for a non-existent file on HDFS, while LocalFileSytem returns an empty FileStatus array.
> * When trying to rename a non-existent path, LocalFileSystem throws an IOException, while HDFS returns false.
> * When renaming a file or directory to a non-existent directory (e.g. /a/b to /c/d, where /c doesn't exist) LocalFileSystem succeeds (returns true) while HDFS fails (false).
> * When renaming a file (or directory) as an existing file (or directory) LocalFileSystem succeeds (returns true) while HDFS fails (false).
> We should document the expected behaviour for these cases in FileSystem's javadoc, and make sure all implementations conform to it.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)