[
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