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

Doug Cutting commented on HADOOP-4044:
--------------------------------------

> why don't we accept the solution that does not require any fundamental 
> changes to the FileSystem API

But it *does* change the API fundamentally.  All of these methods are now 
conditional.  They now either return the declared value or a boolean indicating 
that the declared value is to be ignored and that one should follow up with a 
request for the link value.  That's a substantial change, that shouldn't be 
cloaked in exception handling.

We might instead consider changing the contract of these methods to permit the 
return of a null value, and interpret a null value as the need to request the 
link value.  Unfortunately that won't work with the boolean methods, and it's a 
fragile approach, since folks might forget to check for null.  It's better to 
make it explicit with a datastructure.

> My proposal does "not double the number of RPCs per file operation".

I did not mean to imply that it did.  I'm sorry that you thought I did.  When I 
referred to doubling the number of RPCs I was contrasting with the naive 
approach of calling resolveLink() or somesuch explicitly before open(), so that 
open() is never passed a path that contains a link, as this is implemented in 
Unix and other VFSs.

Your approach would add an RPC whenever a symbolic link is encountered over the 
other approaches, since the link value would not be returned directly with the 
call to open() but would require a second RPC, right?

> I keep wondering what is your selective criteria for ignoring some arguments 
> and answering other.

What arguments am I ignoring?  I am sorry if you feel I've ignored some of your 
arguments.  Please highlight them, if you like.

> 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