You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Ivan Mitic (JIRA)" <ji...@apache.org> on 2012/11/06 01:30:12 UTC

[jira] [Commented] (HADOOP-8956) FileSystem.primitiveMkdir failures on Windows cause multiple test suites to fail

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

Ivan Mitic commented on HADOOP-8956:
------------------------------------

Chris, apologies for the late review. I have a few comments on this patch.

1. RawLocalFs#createSymlink
I think we want to align this with some of our long term goals. The problem with the current code is that you’ll pass a path with forward slashes to Shell.WINUTILS. This does not work in all the cases (one example is path longer than 255 chars). The right thing to do here is to first convert a Path to a File, and let File#getCanonicalPath() do the right conversion for you.

To fix this I would propose we do the following:
 - Expose Path#toFile() API on the Path object
 - Convert Path to File within createSymlink and use File(s) going forward

This aligns well with our long term plans and would be a great thing to do! Daryn had a similar proposal on some of branch-1 Jiras.

2. FileContextURIBase
Currently, isTestableFileNameOnPlatform() will disable testing of some paths on Windows. However, I think the right thing to do is disable these tests only for the LocalFileSystem on Windows. Other FileSystems, like HDFS and S3 will continue to support the complete character set, and we should run the full test suit. Am I right? Might be that I’m just reading the change incorrectly. One way to fix this is to ask for fileNames/dirNamas and allow inherited classes to override the default set. We did something similar in HADOOP-8487.

3. TestPath#testGlobEscapeStatus()
I see that you disabled this test on Windows. It would be good to enable the test “somehow” but I cannot think of a good way. If we could spin up a MiniDFSCluster we could test this, but if I’m reading the trunk code correctly, this would break layering so it’s not an option. In lack of a better option, I’m fine with this.

I believe it should be fine to prepare a patch that goes on top of what is currently in the branch.

                
> FileSystem.primitiveMkdir failures on Windows cause multiple test suites to fail
> --------------------------------------------------------------------------------
>
>                 Key: HADOOP-8956
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8956
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: trunk-win
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>             Fix For: trunk-win
>
>         Attachments: HADOOP-8956-branch-trunk-win.patch, HADOOP-8956-branch-trunk-win.patch, HADOOP-8956-branch-trunk-win.patch
>
>
> Multiple test suites fail on Windows in calls to FileSystem.primitiveMkdir.

--
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