hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-12172) FsShell mkdir -p makes an unnecessary check for the existence of the parent.
Date Wed, 01 Jul 2015 22:49:04 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-12172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chris Nauroth updated HADOOP-12172:
-----------------------------------
    Attachment: HADOOP-12172.001.patch

Here is a small patch.  The code is logically equivalent, but by reversing the order of the
checks, short-circuit evaluation prevents execution of the wasteful existence check.

To test this, I ran {{hdfs dfs -mkdir -p}} while watching the HDFS audit log.  After applying
this patch, the audit log showed one less {{getFileInfo}} RPC.

> FsShell mkdir -p makes an unnecessary check for the existence of the parent.
> ----------------------------------------------------------------------------
>
>                 Key: HADOOP-12172
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12172
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>            Priority: Minor
>         Attachments: HADOOP-12172.001.patch
>
>
> The {{mkdir}} command in {{FsShell}} checks for the existence of the parent of the directory
and returns an error if it doesn't exist.  The {{-p}} option suppresses the error and allows
the directory creation to continue, implicitly creating all missing intermediate directories.
 However, the existence check still runs even with {{-p}} specified, and its result is ignored.
 Depending on the file system, this is a wasteful RPC call (HDFS) or HTTP request (WebHDFS/S3/Azure)
imposing extra latency for the client and extra load for the server.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message