[
https://issues.apache.org/jira/browse/HADOOP-9371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13599860#comment-13599860
]
Steve Loughran commented on HADOOP-9371:
----------------------------------------
[~farrellee] -I think I just pulled that {{mkdirs()}} is atomic fact from HDFS,
knowing that it's something blobstores dramatically break ({{mkdirs()}} taking
the time for a chain of PUT operations from the potentially remote caller.
You are right, though, there's no guarantee that it has to be atomic, and a
quick look at the Posix docs imply that while {{mkdir()}} is required to be
(it's one of the API calls that must be atomic), {{mkdirs()}} can be done
client side. When you start to consider cross-volume and NFS mounts, it would
have to be non-atomic.
I'll change that, and we'd better hope that nobody relies on mkdirs being
atomic. I wonder if there is a way to check this other than turning it off and
seeing what breaks?
> 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: 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