[ 
https://issues.apache.org/jira/browse/HDFS-5293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786533#comment-13786533
 ] 

Daryn Sharp commented on HDFS-5293:
-----------------------------------

That doesn't work in stacked/proxy filesystems or anything that wants to do 
custom filtering.  At a minimum, you'd need to make the NN "chroot aware" by 
defining / to be another path, treat ".." out of the root as an unresolved 
link.  Then the NN has to deal with cyclic links, etc.  I'm not advocating any 
of that.

Resolving symlinks is purely a client side operation.  Think of unix: a mounted 
fs does not resolve symlinks.  Libc functions on the client do all the 
resolution.

> Symlink resolution requires unnecessary RPCs
> --------------------------------------------
>
>                 Key: HDFS-5293
>                 URL: https://issues.apache.org/jira/browse/HDFS-5293
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: namenode
>    Affects Versions: 2.0.0-alpha, 3.0.0
>            Reporter: Daryn Sharp
>            Priority: Critical
>
> When the NN encounters a symlink, it throws an {{UnresolvedLinkException}}.  
> This exception contains only the path that is a symlink.  The client issues 
> another RPC to obtain the link target, followed by another RPC with the link 
> target + remainder of the original path.
> {{UnresolvedLinkException}} should be returning both the link and the target 
> to avoid a costly and unnecessary intermediate RPC to obtain the link target.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to