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

Ivan Mitic commented on HADOOP-9043:
------------------------------------

Thanks Arpit!

I just looked at the patch, and I would prefer we go a slightly different route.

We should always assume that paths that enter winutils have only backshashes. 
The translation (/ -> \) should be happening on the Java side. To fix this 
specific problem, we would want to change FileUtil#symlink to "normalize the 
slashes". If you take a look at the branch-1-win code, it already does this so 
you can just forward port the patch.

Does this make sense, or am I missing something?

FileUtil APIs and APIs that work with local file system in general should be 
accepting java.io.File for params that are local files (instead of Strings or 
Paths), so that we can let Java handle cross platform path "normalization". 
Deprecating existing APIs would be an overhead especially for projects that 
tool a dependency, so we should just keep this in mind going forward for the 
new APIs we add.
                
> winutils can create unusable symlinks
> -------------------------------------
>
>                 Key: HADOOP-9043
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9043
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 1-win, trunk-win
>            Reporter: Chris Nauroth
>            Assignee: Arpit Agarwal
>         Attachments: HADOOP-9043.branch-1-win.patch, HADOOP-9043.trunk.patch
>
>
> In general, the winutils symlink command rejects attempts to create symlinks 
> targeting a destination file that does not exist.  However, if given a 
> symlink destination with forward slashes pointing at a file that does exist, 
> then it creates the symlink with the forward slashes, and then attempts to 
> open the file through the symlink will fail.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to