[
https://issues.apache.org/jira/browse/HDFS-6054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15052254#comment-15052254
]
Yongjun Zhang commented on HDFS-6054:
-------------------------------------
Thanks a lot [~zhz]!
Good catches of your first two comments. About your question, I took some
existing logic, which I think tries to make it harder to conflict rather than
any requirement of multiple of 4. The logic below uses 4 ports for each try
(number of NN is 2 in these tests)
{code}
public static MiniDFSNNTopology createDefaultTopology(int nns, int
startingPort) {
MiniDFSNNTopology.NSConf nameservice = new
MiniDFSNNTopology.NSConf(NAMESERVICE);
for (int i = 0; i < nns; i++) {
nameservice.addNN(new MiniDFSNNTopology.NNConf("nn" +
i).setIpcPort(startingPort++)
.setHttpPort(startingPort++));
}
return new MiniDFSNNTopology().addNameservice(nameservice);
}
{code}
Uploaded rev 003 to address your comments.
> MiniQJMHACluster should not use static port to avoid binding failure in unit
> test
> ---------------------------------------------------------------------------------
>
> Key: HDFS-6054
> URL: https://issues.apache.org/jira/browse/HDFS-6054
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: test
> Reporter: Brandon Li
> Assignee: Yongjun Zhang
> Labels: BB2015-05-TBR
> Attachments: HDFS-6054.001.patch, HDFS-6054.002.patch,
> HDFS-6054.003.patch
>
>
> One example of the test failues: TestFailureToReadEdits
> {noformat}
> Error Message
> Port in use: localhost:10003
> Stacktrace
> java.net.BindException: Port in use: localhost:10003
> at sun.nio.ch.Net.bind(Native Method)
> at
> sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
> 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:845)
> at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:786)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:132)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:593)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:492)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:650)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:635)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1283)
> at
> org.apache.hadoop.hdfs.MiniDFSCluster.createNameNode(MiniDFSCluster.java:966)
> at
> org.apache.hadoop.hdfs.MiniDFSCluster.createNameNodesAndSetConf(MiniDFSCluster.java:851)
> at
> org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:697)
> at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:374)
> at
> org.apache.hadoop.hdfs.MiniDFSCluster$Builder.build(MiniDFSCluster.java:355)
> at
> org.apache.hadoop.hdfs.server.namenode.ha.TestFailureToReadEdits.setUpCluster(TestFailureToReadEdits.java:108)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)