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

Colin Patrick McCabe commented on HDFS-5293:
--------------------------------------------

bq. 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.

I'm just saying the NameNode should handle resolving the symlinks that it can 
resolve, and throw {{UnresolvedLinkException}} for the ones which it can't.  A 
symlink which points to a different scheme/authority or to something "above 
root" obviously still needs to be handled via an {{UnresolvedLinkException}}.  
Essentially, I am proposing an optimization which can used on 
non-cross-filesystem symlinks.  This is also how {{LocalFileSystem}} currently 
works.

Anyway, we can continue discussing that optimization on HADOOP-9780 if you 
want, since it's a separate issue from the RPC reduction issue you're 
discussing here.

> 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