[
https://issues.apache.org/jira/browse/DRILL-6198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16382291#comment-16382291
]
ASF GitHub Bot commented on DRILL-6198:
---------------------------------------
Github user vvysotskyi commented on a diff in the pull request:
https://github.com/apache/drill/pull/1142#discussion_r171620225
--- 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. Thanks, it looks better with for loop.
2. Added more details to the error message.
> 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)