You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Xi Fang (JIRA)" <ji...@apache.org> on 2013/07/17 00:58:47 UTC

[jira] [Created] (HADOOP-9739) Branch-1-Win TestNNThroughputBenchmark failed

Xi Fang created HADOOP-9739:
-------------------------------

             Summary: Branch-1-Win TestNNThroughputBenchmark failed
                 Key: HADOOP-9739
                 URL: https://issues.apache.org/jira/browse/HADOOP-9739
             Project: Hadoop Common
          Issue Type: Bug
    Affects Versions: 1-win
            Reporter: Xi Fang
            Assignee: Xi Fang
            Priority: Minor
             Fix For: 1-win


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