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

Sanjay Radia commented on HADOOP-9780:
--------------------------------------

The description and comments seem to be talking of two different things.
# the description says that following the symlink breaks compatibility. (I 
disagree - symlinks are suppose to be transparent for the most part).
# the comments discuss two things - RPC costs and client-context-sensitivity.
 **  If the symlink is /relative with no scheme then the NN has the option of 
resolving it to reduce the rpcs. We should do this. This was discussed during 
the symlink design and was marked as future optimization - we should have filed 
a jira for that at that time.
 ** if  the symlink is  fully-qualified with a scheme then it needs to be 
resolved on client side; an optimization can be done by the NN if the scheme 
and authority matches that of the NN. The NN cannot resolve a fiully qualified 
name that does not match its own scheme and authority due to security.

There is no client context-sensitivity unless different clients are using 
inconsistent DNS servers.

> Filesystem and FileContext methods that follow symlinks should return 
> unresolved paths
> --------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9780
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9780
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Colin Patrick McCabe
>            Priority: Minor
>
> Currently, when you follow a symlink, you get back the resolved path, with 
> all symlinks removed.  For compatibility reasons, we might want to have the 
> returned path be an unresolved path.
> Example: if you have:
> {code}
> /a -> b
> /b
> /b/c
> {code}
> {{getFileStatus("/a/c")}} will return a {{FileStatus}} object with a {{Path}} 
> of {{"/b/c"}}.
> If we returned the unresolved path, that would be {{"/a/c"}}



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

Reply via email to