Xiaoyu Yao created HDFS-7914: -------------------------------- Summary: TestJournalNode#testFailToStartWithBadConfig failed consistently when the default dfs.journalnode.http-address port 8480 is in use by OS. Key: HDFS-7914 URL: https://issues.apache.org/jira/browse/HDFS-7914 Project: Hadoop HDFS Issue Type: Test Affects Versions: 2.6.0 Environment: Mac Reporter: Xiaoyu Yao Assignee: Xiaoyu Yao
The default journal node http port address 8480 used by the test is always conflicting with iTunes service on Mac OS as shown below. The fix for this test to let OS choose a free port for the test. I will post a patch shortly. Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 3.392 sec <<< FAILURE! - in org.apache.hadoop.hdfs.qjournal.server.TestJournalNode testFailToStartWithBadConfig(org.apache.hadoop.hdfs.qjournal.server.TestJournalNode) Time elapsed: 0.176 sec <<< FAILURE! java.lang.AssertionError: Expected to find 'Cannot create directory' but got unexpected exception:java.net.BindException: Port in use: 0.0.0.0:8480 at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:812) at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:749) at org.apache.hadoop.hdfs.qjournal.server.JournalNodeHttpServer.start(JournalNodeHttpServer.java:69) at org.apache.hadoop.hdfs.qjournal.server.JournalNode.start(JournalNode.java:150) at org.apache.hadoop.hdfs.qjournal.server.TestJournalNode.assertJNFailsToStart(TestJournalNode.java:297) at org.apache.hadoop.hdfs.qjournal.server.TestJournalNode.testFailToStartWithBadConfig(TestJournalNode.java:289) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:444) at sun.nio.ch.Net.bind(Net.java:436) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216) at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:807) ... 14 more at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.hadoop.test.GenericTestUtils.assertExceptionContains(GenericTestUtils.java:146) at org.apache.hadoop.hdfs.qjournal.server.TestJournalNode.assertJNFailsToStart(TestJournalNode.java:299) at org.apache.hadoop.hdfs.qjournal.server.TestJournalNode.testFailToStartWithBadConfig(TestJournalNode.java:289) -- This message was sent by Atlassian JIRA (v6.3.4#6332)