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

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

Oops a few of my comments got deleted by mistake as I was doing cut/paste.

-------------

>My argument is that we should model normal functionality with normal 
>programming: methods, parameters, return values and data structures. Do you 
>disagree with this? Or do you think that links are not normal functionality?
>You keep arguing that "exceptions can be used for recoverable conditions". 
>Indeed they can. But is a link really best modeled as a "recoverable 
>condition"? This sounds to me like a rationalization for using exceptions, not 
>a reason to use exceptions over data structures.


The way you have worded your questions makes it very hard for me to convey the 
alternative.
So I response in the best way I can (and you will not find the answer 
acceptable since I have said some of this before).
I see following a symbolic link as an exceptional condition but not an error. 
The NN prefers not to follow the remote symlinks.
It is however a condition that can be recovered by the client side.
Either the use of exceptions or data types and parameters are ways to deal with 
this.
I believe the use of exceptions in this situation is acceptable and further the 
better of the two alternative.
Further I believe it leaves the methods signatures intact and they continue to 
convey the function they previously did by their name and by the types of the 
in and out parameters. I like that property of the solution. The alternate 
solution forces me to create a whole bunch of new data types or overload 
existing one. If exceptions were not available I would use the alternate 
solution.

I don't like  your use of term "normal control flow".That term was used in one 
of your references for an example where and outOfBound exception was used to 
get out of a for loop at the array index boundary. Clearly use of exceptions to 
exit out of a for loop for out of bounds is blasphemous.
So the issue is that  if I am forced to argue using the words normal or not 
normal it makes my point of view ldiotic - the use of those words 
in that example do not apply in this context. 


----------------

> 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