[ https://issues.apache.org/jira/browse/HDFS-5294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786311#comment-13786311 ]
Daryn Sharp commented on HDFS-5294: ----------------------------------- It's a dup in concept, but addressing the issue described will require a specific change to {{DistributedFileSystem}}'s {{getFileLinkStatus}} and {{getLinkTarget}} so I think it should stay open in addition to the common jira. bq. [...] t will also affect getFileStatus, listStatus, getLocatedFileStatus, resolvePath, listCorruptFileBlocks, globStatus, createSnapshot, etc. [...] I really don't think we should do this unless we also do symlink resolution server-side to avoid doing N symlink resolution RPCs every time we use a path with N symlinks in it. I think there's some misunderstanding. The issue of whether the client is able to obtain the exact symlink target is orthogonal from whether the other methods return a {{FileStatus}} with a (un)qualified path. > DistributedFileSystem#getFileLinkStatus should not fully qualify the link > target > -------------------------------------------------------------------------------- > > Key: HDFS-5294 > URL: https://issues.apache.org/jira/browse/HDFS-5294 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client > Affects Versions: 2.0.0-alpha, 3.0.0 > Reporter: Daryn Sharp > > The NN returns a {{FileStatus}} containing the exact link target as specified > by the user at creation. However, > {{DistributedFileSystem#getFileLinkStatus}} explicit overwrites the target > with the fully scheme qualified path lookup. This causes multiple issues > such as: > # Prevents clients from discerning if the target is relative or absolute > # Mangles a target that is not intended to be a path > # Causes incorrect resolution with multi-layered filesystems - ie. the link > should be resolved relative to a higher level fs (ie. viewfs, chroot, > filtered, etc) -- This message was sent by Atlassian JIRA (v6.1#6144)