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

Steve Loughran updated HADOOP-9265:
-----------------------------------

    Attachment: HADOOP-9265-3.patch

There's enough changes here that we do need rigorous review.

The previous patch saw copy-onto-self and bailed out early -but these checks 
were made before the destination path was fully generated -because if you 
specify a destination directory, the source goes in under there. Which means 
you could set the dest dir to be the parent of the source file, so generating a 
rename(src, src) _after_ the equality check had taken place -a rename that 
would return false.

Now the value is checked once up front -for fast exit without talking to S3, 
and then just before the operation actually takes place.

I also added lots of inline comments to make it clearer what is going on. 
                
> S3 blockstore filesystem breaks part of the Filesystem contract
> ---------------------------------------------------------------
>
>                 Key: HADOOP-9265
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9265
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/s3
>    Affects Versions: 1.1.1, 3.0.0
>            Reporter: Steve Loughran
>            Assignee: Tom White
>         Attachments: HADOOP-9265-3.patch, HADOOP-9265.patch, HADOOP-9265.patch
>
>
> The extended tests of HADOOP-9258 show that s3 is failing things which we 
> always expected an FS to do
> # {{getFileStatus("/")}} to return a {{FileStatus}} -currently it returns a 
> {{FileNotFoundException}}.
> # {{rename("somedir","somedir/childdir")}} to fail. currently it returns true 
> after deleting all the data in {{somedir/}}

--
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