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)