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

Sanjay Radia commented on HADOOP-4044:
--------------------------------------

Doug says:
>> [minor]  the method next() suggests that one follows the path to the next 
>> symbolic link. It does not strictly.

>Can you elaborate? Each time this is called a link is resolved, returning a 
>path that may contain more links, following a chain of links, no? Also, 
>>'doOperation()' is next to meaningless. So if 'next' is indeed inappropriate 
>we should replace it with something more specific, not something generic.

First I had qualified this as _minor_ (meaning it is just a minor suggestion 
for the author).
When I read the code, I first thought that dhruba was  processing all sym links 
and then doing the actual operation at the end.
Turns out next() actually performs the operation. If the operation succeeds 
(and it will for most pathnames including for all dot-relative symlinks)
all is well and done. Indeed if there is another NN in a chain of links that is 
willing to process remote  symlinks internally all is fine and done.
If the operations  fails, then the recovery is performed.
Now the design is quite elegant. Later we can add new reasons why the NN could 
not complete the operation and the structure could be modified
to recover for new conditions. I like that. The name next() suggests that one 
is following  symlinks so I was suggesting something like doOperaiton() or
performOperation() which I find more accurate than the the generic "next()". 
Perhaps adding a comment to the abstract method may be sufficient. _I am okay 
with whatever the author decides here - it is a very minor comment_.

> Create symbolic links in HDFS
> -----------------------------
>
>                 Key: HADOOP-4044
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4044
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: dfs
>            Reporter: dhruba borthakur
>            Assignee: dhruba borthakur
>         Attachments: symLink1.patch, symLink1.patch, symLink4.patch, 
> symLink5.patch, symLink6.patch, symLink8.patch, symLink9.patch
>
>
> HDFS should support symbolic links. A symbolic link is a special type of file 
> that contains a reference to another file or directory in the form of an 
> absolute or relative path and that affects pathname resolution. Programs 
> which read or write to files named by a symbolic link will behave as if 
> operating directly on the target file. However, archiving utilities can 
> handle symbolic links specially and manipulate them directly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to