[ https://issues.apache.org/jira/browse/HDFS-6768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arpit Agarwal updated HDFS-6768: -------------------------------- Summary: Fix a few unit tests that use hard-coded port numbers (was: TestBlockRecovery, TestRefreshCallQueue and TestGenericRefresh should use ephemeral ports) > Fix a few unit tests that use hard-coded port numbers > ----------------------------------------------------- > > Key: HDFS-6768 > URL: https://issues.apache.org/jira/browse/HDFS-6768 > Project: Hadoop HDFS > Issue Type: Bug > Components: test > Affects Versions: 2.5.0 > Reporter: Arpit Agarwal > Assignee: Arpit Agarwal > Attachments: HDFS-6768.01.patch > > > TestBlockRecovery uses hard-coded port numbers making it susceptible to 'port > in use' errors [as seen > here|https://builds.apache.org/job/PreCommit-HDFS-Build/7484//testReport/org.apache.hadoop.hdfs.server.datanode/TestBlockRecovery/testRaceBetweenReplicaRecoveryAndFinalizeBlock/] > {code} > Error Message > Port in use: localhost:50070 > Stacktrace > java.net.BindException: Port in use: localhost:50070 > at sun.nio.ch.Net.bind(Native Method) > at > sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:124) > at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) > at > org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216) > at > org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:853) > at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:794) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:142) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:697) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:587) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:756) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:740) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1425) > at > org.apache.hadoop.hdfs.MiniDFSCluster.createNameNode(MiniDFSCluster.java:1007) > at > org.apache.hadoop.hdfs.MiniDFSCluster.createNameNodesAndSetConf(MiniDFSCluster.java:878) > at > org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:707) > at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:378) > at > org.apache.hadoop.hdfs.MiniDFSCluster$Builder.build(MiniDFSCluster.java:359) > at > org.apache.hadoop.hdfs.server.datanode.TestBlockRecovery.testRaceBetweenReplicaRecoveryAndFinalizeBlock(TestBlockRecovery.java:592) > {code} > TestRefreshCallQueue and TestGenericRefresh also use the same hard-coded port > number (54222) which can result in 'port in use' errors with parallel-tests. -- This message was sent by Atlassian JIRA (v6.2#6252)