[
https://issues.apache.org/jira/browse/HADOOP-9817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13726680#comment-13726680
]
Kousuke Saruta commented on HADOOP-9817:
----------------------------------------
I'm just watching the same code.
Currently, globStatusInternal is implemented to invoke getFileStatus as follows.
{code}
// seed the parent directory path, return if it doesn't exist
try {
matches.add(getFileStatus(new Path(baseDir)));
} catch (FileNotFoundException e) {
return patternHasGlob ? matches : null;
}
{code}
But, I think it should invoke getFileLinkStatus not to replace symlink with
target.
> FileSystem#globStatus and FileContext#globStatus need to work with symlinks
> ---------------------------------------------------------------------------
>
> Key: HADOOP-9817
> URL: https://issues.apache.org/jira/browse/HADOOP-9817
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
>
> FileSystem#globStatus and FileContext#globStatus need to work with symlinks.
> Currently, they resolve all links, so that if you have:
> {code}
> /alpha/beta
> /alphaLink -> alpha
> {code}
> and you take {{globStatus(/alphaLink/*)}}, you will get {{/alpha/beta}},
> rather than the expected {{/alphaLink/beta}}.
> We even resolve terminal symlinks, which would prevent listing a symlink in
> FSShell, for example. Instead, we should build up the path incrementally.
> This will allow the shell to behave as expected, and also allow custom
> globbers to "see" the correct paths for symlinks.
--
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