[ 
https://issues.apache.org/jira/browse/HDFS-5003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Nauroth updated HDFS-5003:
--------------------------------

     Target Version/s: 3.0.0, 1-win, 2.1.0-beta, 1.2.1  (was: 3.0.0, 1-win, 
2.1.0-beta)
    Affects Version/s: 1.2.1
        Fix Version/s: 1.2.1
         Hadoop Flags: Reviewed

+1 for the patches.  I'll commit this.
                
> TestNNThroughputBenchmark failed caused by existing directories
> ---------------------------------------------------------------
>
>                 Key: HDFS-5003
>                 URL: https://issues.apache.org/jira/browse/HDFS-5003
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 3.0.0, 1-win, 2.1.0-beta, 1.2.1
>            Reporter: Xi Fang
>            Assignee: Xi Fang
>            Priority: Minor
>             Fix For: 3.0.0, 1-win, 2.1.0-beta, 1.2.1
>
>         Attachments: HADOOP-9739.1.patch, HADOOP-9739.1.trunk.patch
>
>
> This test failed on both Windows and Linux.
> Here is the error information.
> Testcase: testNNThroughput took 36.221 sec
>       Caused an ERROR
> NNThroughputBenchmark: cannot mkdir 
> D:\condor\condor\build\test\dfs\hosts\exclude
> java.io.IOException: NNThroughputBenchmark: cannot mkdir 
> D:\condor\condor\build\test\dfs\hosts\exclude
>       at 
> org.apache.hadoop.hdfs.server.namenode.NNThroughputBenchmark.<init>(NNThroughputBenchmark.java:111)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NNThroughputBenchmark.runBenchmark(NNThroughputBenchmark.java:1168)
>       at 
> org.apache.hadoop.hdfs.server.namenode.TestNNThroughputBenchmark.testNNThroughput(TestNNThroughputBenchmark.java:38)
> This test may not fail for the first run, but will fail for the second one.
> The root cause is in the constructor of NNThroughputBenchmark
> {code}
> NNThroughputBenchmark(Configuration conf) throws IOException, LoginException  
> {
> ...
>      config.set("dfs.hosts.exclude", "${hadoop.tmp.dir}/dfs/hosts/exclude");
>      File excludeFile = new File(config.get("dfs.hosts.exclude", "exclude"));
>      if(! excludeFile.exists()) {
>       if(!excludeFile.getParentFile().mkdirs())
>          throw new IOException("NNThroughputBenchmark: cannot mkdir " + 
> excludeFile);
>      }
>      new FileOutputStream(excludeFile).close();
> {code}
> excludeFile.getParentFile() may already exist, then 
> excludeFile.getParentFile().mkdirs() will return false, which however is not 
> an expected behavior.

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