[ https://issues.apache.org/jira/browse/HDFS-8452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14557148#comment-14557148 ]
Jagadesh Kiran N commented on HDFS-8452: ---------------------------------------- I have some queries regarding the same ., Iam confused with the” idempotent operation” as both are client side request to the server., a. CLI : 1. If this is an Idempotent Operation when same file name is given it is returning 1 ,ideally it should return 0 . 2. Check the documentation : http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#mkdir Exit Code:Returns 0 on success and -1 on error. Query : a. Ideally -1 should return but in CLI 1 will get return for error message b. if it is Idempotent function why error is there, I feel it should be consistent . b. Rest API : 1. Your comments “ It should not overwrite ,should throw exception when any file is there inside folder” https://hadoop.apache.org/docs/current2/hadoop-project-dist/hadoop-common/filesystem/filesystem.html if exists(FS, p) and not isDir(FS, p) : raise [ParentNotDirectoryException, FileAlreadyExistsException, IOException] 2. I tried this scenario also ,but still the same 200 will be returned , no exception will be thrown, so the condition mentioned about for file is not working .Its overwriting but files still exists inside that folder. 3. I didn’t get which document is not proper and where it needs to be changed ,the comment by Haohui Mai Please clarify me the above. > In WebHDFS, duplicate directory creation is not throwing exception. > ------------------------------------------------------------------- > > Key: HDFS-8452 > URL: https://issues.apache.org/jira/browse/HDFS-8452 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.7.0 > Reporter: Jagadesh Kiran N > Priority: Minor > Fix For: 3.0.0 > > > *Case 1 (CLI):* > a. In HDFS Create a new Directory > {code}./hdfs dfs -mkdir /new , A New directory will be > created{code} > b. Now Execute the same Command again > {code} mkdir: `/new': File exists , Error message will be shown {code} > *Case 2 (RestAPI) :* > a. In HDFS Create a new Directory > {code}curl -i -X PUT -L > "http://host1:50070/webhdfs/v1/new1?op=MKDIRS&overwrite=false"{code} > A New Directory will be created > b. Now Execute the same webhdfs command again > No exception will be thrown back to the client. > {code} > HTTP/1.1 200 OK > Cache-Control: no-cache > Expires: Thu, 21 May 2015 15:11:57 GMT > Date: Thu, 21 May 2015 15:11:57 GMT > Pragma: no-cache > Content-Type: application/json > Transfer-Encoding: chunked > {code} > -- This message was sent by Atlassian JIRA (v6.3.4#6332)