[
https://issues.apache.org/jira/browse/HADOOP-8040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Wang updated HADOOP-8040:
--------------------------------
Attachment: hadoop-8040-1.patch
I've put patches up at each of the subtasks (as well as HADOOP-9370), as well
as a consolidated patch here for Jenkins. It makes sense to review starting
with HADOOP-9370, then each of the sub-JIRAs in order.
At a high-level, we're refactoring all the tests to use a wrapper that
abstracts FileContext vs. FileSystem, and reusing the FSLinkResolver class from
FileContext to do resolution for FileSystem as well. This requires adding some
new methods to FileSystem. Implementation and tests are provided for
DistributedFileSystem as well as LocalFileSystem.
There are some caveats with the FileSystem implementation, mostly from not
having a FileContext/AbstractFileSystem-like split:
- Quite a bit of logic is pushed down into the FileSystem subclasses.
- Symlink cycle detection only works within a single FileSystem.
Please let me know if my patch splitting is appropriate. I'd like to avoid too
much re-splitting and reorgs if possible, since it's pretty time consuming to
do the git magic.
> Add symlink support to FileSystem
> ---------------------------------
>
> Key: HADOOP-8040
> URL: https://issues.apache.org/jira/browse/HADOOP-8040
> Project: Hadoop Common
> Issue Type: New Feature
> Components: fs
> Affects Versions: 0.23.0
> Reporter: Eli Collins
> Assignee: Andrew Wang
> Attachments: hadoop-8040-1.patch
>
>
> HADOOP-6421 added symbolic links to FileContext. Resolving symlinks is done
> on the client-side, and therefore requires client support. An HDFS symlink
> (created by FileContext) when accessed by FileSystem will result in an
> unhandled UnresolvedLinkException. Because not all users will migrate from
> FileSystem to FileContext in lock step, and we want users of FileSystem to be
> able to access all paths created by FileContext, we need to support symlink
> resolution in FileSystem as well, to facilitate migration to FileContext.
--
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