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

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

Owen> I would probably use a thread local variable to measure the depth of the 
traversal. It isn't great, but it would be encapsulated in LinkResult.

I see.  Yuck.  It wouldn't in fact be entirely encapsulated, since it would 
assume that all the resolution of a path happens in the same thread.  Thus we'd 
want to mark each of the FileSystem methods that uses a LinkResult final, add 
some comments noting that the LinkResult API has this restriction, etc.  (It'd 
be odd to ever try to run these in different threads, but folks have tried 
odder things!)  In general, thread locals seem like a poor design choice for 
this.  They're best for things like caches, to avoid thread contention, rather 
than for storing program state, no?

We could instead perhaps add something like a LinkResolution object that keeps 
a counter internally that is incremented as the link is resolved.  The SPI 
would pass this around rather than a Path?  Is that better than Dhruba's patch?


> 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