[ 
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

Reply via email to