[ https://issues.apache.org/jira/browse/DRILL-6198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16382275#comment-16382275 ]
ASF GitHub Bot commented on DRILL-6198: --------------------------------------- Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1142#discussion_r171607424 --- Diff: contrib/storage-opentsdb/src/test/java/org/apache/drill/store/openTSDB/TestOpenTSDBPlugin.java --- @@ -185,4 +188,26 @@ public void testDescribe() throws Exception { test("describe `warp.speed.test`"); Assert.assertEquals(1, testSql("show tables")); } + + /** + * Checks that port with specified number is free and returns it. + * Otherwise, increases port number and checks until free port is found + * or the number of attempts is reached specified numAttempts + * + * @param portNum initial port number + * @param numAttempts max number of attempts to find port with greater number + * @return free port number + * @throws BindException if free port was not found and all attempts were used. + */ + private static int getFreePortNum(int portNum, int numAttempts) throws IOException { + while (numAttempts > 0) { --- End diff -- 1. Please re-write using for loop. 2. Please add more details to the exception, include initial port number, which ports were occupied. Suggest to check which ports are free etc. > OpenTSDB unit tests fail when Lilith client is run > -------------------------------------------------- > > Key: DRILL-6198 > URL: https://issues.apache.org/jira/browse/DRILL-6198 > Project: Apache Drill > Issue Type: Bug > Components: Tools, Build & Test > Affects Versions: 1.12.0 > Reporter: Volodymyr Vysotskyi > Assignee: Volodymyr Vysotskyi > Priority: Minor > Fix For: 1.13.0 > > > When OpenTSDB unit testsĀ are running on the same machine where Lilith client > is run, unit tests fail with the error: > {noformat} > testDescribe(org.apache.drill.store.openTSDB.TestOpenTSDBPlugin) Time > elapsed: 0.01 sec <<< ERROR! > com.github.tomakehurst.wiremock.common.FatalStartupException: > java.lang.RuntimeException: java.net.BindException: Address already in use > at > com.github.tomakehurst.wiremock.WireMockServer.start(WireMockServer.java:145) > at > com.github.tomakehurst.wiremock.junit.WireMockRule$1.evaluate(WireMockRule.java:68) > at > org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) > Caused by: java.lang.RuntimeException: java.net.BindException: Address > already in use > at > com.github.tomakehurst.wiremock.jetty9.JettyHttpServer.start(JettyHttpServer.java:132) > at > com.github.tomakehurst.wiremock.WireMockServer.start(WireMockServer.java:143) > at > com.github.tomakehurst.wiremock.junit.WireMockRule$1.evaluate(WireMockRule.java:68) > 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:433) > at sun.nio.ch.Net.bind(Net.java:425) > at > sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) > at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) > at > wiremock.org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321) > at > wiremock.org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) > at > wiremock.org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236) > at > wiremock.org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at wiremock.org.eclipse.jetty.server.Server.doStart(Server.java:366) > at > wiremock.org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > com.github.tomakehurst.wiremock.jetty9.JettyHttpServer.start(JettyHttpServer.java:130) > at > com.github.tomakehurst.wiremock.WireMockServer.start(WireMockServer.java:143) > at > com.github.tomakehurst.wiremock.junit.WireMockRule$1.evaluate(WireMockRule.java:68) > at > org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) > {noformat} > This failure appears because of Lilith uses the same port 10000 as the port, > specified in {{TestOpenTSDBPlugin.wireMockRule}} and > {{bootstrap-storage-plugins.json}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005)