[ 
https://issues.apache.org/jira/browse/HDFS-8673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14605259#comment-14605259
 ] 

Steve Loughran commented on HDFS-8673:
--------------------------------------

The  overall patch looks good, just a bit of the details to wrap up
# the exception should be `FileAlreadyExistsException`
# The exception text should be a constant for a String.format() operation 
defined as a public constant
# the test should explicitly catch the  `FileAlreadyExistsException` and use 
the same String format constant to generate the test pattern
# if there isn't a match, rethrow the exception, rather than raise a new 
assertion

see: 
[https://github.com/steveloughran/formality/blob/master/styleguide/styleguide.md#testing-with-exceptions]

> HDFS reports file already exists if there is a file/dir name end with 
> ._COPYING_
> --------------------------------------------------------------------------------
>
>                 Key: HDFS-8673
>                 URL: https://issues.apache.org/jira/browse/HDFS-8673
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 2.7.0
>            Reporter: Chen He
>         Attachments: HDFS-8673.000-WIP.patch, HDFS-8673.000.patch
>
>
> Because CLI is using CommandWithDestination.java which add "._COPYING_" to 
> the tail of file name when it does the copy. It will cause problem if there 
> is a file/dir already called *._COPYING_ on HDFS.
> For file:
> -bash-4.1$ hadoop fs -put 5M /user/occ/
> -bash-4.1$ hadoop fs -mv /user/occ/5M /user/occ/5M._COPYING_
> -bash-4.1$ hadoop fs -ls /user/occ/
> Found 1 items
> -rw-r--r--   1 occ supergroup    5242880 2015-06-26 05:16 
> /user/occ/5M._COPYING_
> -bash-4.1$ hadoop fs -put 128K /user/occ/5M
> -bash-4.1$ hadoop fs -ls /user/occ/
> Found 1 items
> -rw-r--r--   1 occ supergroup     131072 2015-06-26 05:19 /user/occ/5M
> For dir:
> -bash-4.1$ hadoop fs -mkdir /user/occ/5M._COPYING_
> -bash-4.1$ hadoop fs -ls /user/occ/
> Found 1 items
> drwxr-xr-x   - occ supergroup          0 2015-06-26 05:24 
> /user/occ/5M._COPYING_
> -bash-4.1$ hadoop fs -put 128K /user/occ/5M
> put: /user/occ/5M._COPYING_ already exists as a directory
> -bash-4.1$ hadoop fs -ls /user/occ/
> (/user/occ/5M._COPYING_ is gone)



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

Reply via email to