[
https://issues.apache.org/jira/browse/HADOOP-8040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687390#comment-13687390
]
Colin Patrick McCabe commented on HADOOP-8040:
----------------------------------------------
bq. I refactored these out of FileContext and decided to stick them in Path.
Seems kind of weird to have a "check" instance method that throws an exception
like this, so I'd mildly prefer to leave them static.
I'll leave it up to you, but I really prefer instance methods in this case.
bq. Semantics for all the local filesystems is kinda fuzzy, but I agree that
this feels incorrect. I'd prefer to fix both of these classes at once though in
a follow-on JIRA (especially if JNI is potentially involved).
OK. I filed HADOOP-9652 for this.
bq. Hmm, interesting comment, good eye. The issue here is that since symlinks
can point to other filesystems, we have to return a FileStatus, not an
HdfsFileStatus. Plain old FileStatus doesn't have fileId, so we have to leave
it out. I think this is okay from a user perspective, since FileSystem methods
only return FileStatus, and HdfsFileStatus isn't a subclass of FileStatus
anyway.
Yeah, given that it has to be copied anyway, this is probably fine. Can you
add a comment?
bq. I think this is as intended. The new inner class sometimes needs to wrap
final parameters of the containing method. Since the params are different each
time (and different per call), I think it needs to do this at runtime.
OK.
bq. I think the intent here was to just pick a reasonable upper bound. I doubt
any real user has >32 links to links, and I don't think there's a reason to
tune it down either.
Looks like there was some discussion on this earlier:
https://issues.apache.org/jira/browse/HDFS-245?focusedCommentId=12642970&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12642970
32 is probably fine for now. If we ever need it to be configurable, we can do
that in a separate JIRA.
> 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, 3.0.0, 2.0.3-alpha
> Reporter: Eli Collins
> Assignee: Andrew Wang
> Attachments: hadoop-8040-1.patch, hadoop-8040-2.patch,
> hadoop-8040-3.patch, hadoop-8040-4.patch, hadoop-8040-5.patch,
> hadoop-8040-6.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