[ https://issues.apache.org/jira/browse/HADOOP-9371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13601901#comment-13601901 ]
Mike Liddell commented on HADOOP-9371: -------------------------------------- A few items for consideration: Possible additions to 'implicit assumption': - paths are represented as Unicode strings - equality/comparison of paths is based on binary content. this implies case-sensitivity and no locale-specific comparison rules. >>The data added to a file during a write or append MAY be visible during while >>the write operation is in progress. - Allowing read(s) during write seems to break the subsequent rule that "readers always see consistent data". >> Deleting the root path, /, MUST fail iff recursive==false. - If the root path is empty, it seems reasonable for delete("/",false) to succeed but to have no effect. >> After a file is created, all ls operations on the file and parent directory >> MUST not find the file - copy-paste error -> "after a file is deleted ..." >> Security: if a caller has the rights to list a directory, it has the rights >> to list directories all the way up the tree. - This point raises lots of interesting questions and requirements for individual methods. A section on security assumptions/rules would be great. > Define Semantics of FileSystem and FileContext more rigorously > -------------------------------------------------------------- > > Key: HADOOP-9371 > URL: https://issues.apache.org/jira/browse/HADOOP-9371 > Project: Hadoop Common > Issue Type: Sub-task > Components: fs > Affects Versions: 1.2.0, 3.0.0 > Reporter: Steve Loughran > Assignee: Steve Loughran > Attachments: HADOOP-9361.patch, HadoopFilesystemContract.pdf > > Original Estimate: 48h > Remaining Estimate: 48h > > The semantics of {{FileSystem}} and {{FileContext}} are not completely > defined in terms of > # core expectations of a filesystem > # consistency requirements. > # concurrency requirements. > # minimum scale limits > Furthermore, methods are not defined strictly enough in terms of their > outcomes and failure modes. > The requirements and method semantics should be defined more strictly. -- 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