From 99c75d2fe3b8e3d97206599cf1252a2ee366eb75 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Wed, 20 Jul 2022 10:43:14 +0200 Subject: [PATCH 1/5] Revert "Retry TestingTrinoServer setup when port is already used" This reverts commit 5a72170419ff51f1372d06a2dafd76eab724ae33. The change was not necessary. The rationale was Even we typically use random port to setup TestingTrinoServer there is a low likelihood of a race condition where same port is used by two concurrent tests. However, in practice, we always bind to 0, and such a bind is guaranteed to succeed. If a specific test binds to a specific port, it's this test's responsibility to guarantee the port is free, not `TestingTrinoServer`'s. --- .../server/testing/TestingTrinoServer.java | 32 +++++-------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/core/trino-main/src/main/java/io/trino/server/testing/TestingTrinoServer.java b/core/trino-main/src/main/java/io/trino/server/testing/TestingTrinoServer.java index 4e51a76de52b..ce3a6fddb579 100644 --- a/core/trino-main/src/main/java/io/trino/server/testing/TestingTrinoServer.java +++ b/core/trino-main/src/main/java/io/trino/server/testing/TestingTrinoServer.java @@ -36,7 +36,6 @@ import io.airlift.jaxrs.JaxrsModule; import io.airlift.jmx.testing.TestingJmxModule; import io.airlift.json.JsonModule; -import io.airlift.log.Logger; import io.airlift.node.testing.TestingNodeModule; import io.airlift.tracetoken.TraceTokenModule; import io.trino.connector.CatalogName; @@ -97,8 +96,6 @@ import io.trino.testing.TestingWarningCollectorModule; import io.trino.transaction.TransactionManager; import io.trino.transaction.TransactionManagerModule; -import net.jodah.failsafe.Failsafe; -import net.jodah.failsafe.RetryPolicy; import org.weakref.jmx.guice.MBeanModule; import javax.annotation.concurrent.GuardedBy; @@ -123,7 +120,6 @@ import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Strings.nullToEmpty; -import static com.google.common.base.Throwables.getStackTraceAsString; import static com.google.common.io.MoreFiles.deleteRecursively; import static com.google.common.io.RecursiveDeleteOption.ALLOW_INSECURE; import static com.google.inject.util.Modules.EMPTY_MODULE; @@ -137,8 +133,6 @@ public class TestingTrinoServer implements Closeable { - private static final Logger log = Logger.get(TestingTrinoServer.class); - public static TestingTrinoServer create() { return builder().build(); @@ -292,17 +286,17 @@ private TestingTrinoServer( modules.add(additionalModule); + Bootstrap app = new Bootstrap(modules.build()); + Map optionalProperties = new HashMap<>(); environment.ifPresent(env -> optionalProperties.put("node.environment", env)); - injector = Failsafe.with(new RetryPolicy<>() - .withMaxRetries(5) - .handleIf(throwable -> getStackTraceAsString(throwable).contains("BindException: Address already in use")) - .onRetry(event -> log.debug( - "Initialization failed on attempt %s, will retry. Exception: %s", - event.getAttemptCount(), - event.getLastFailure().getMessage()))) - .get(() -> initialize(serverProperties.buildOrThrow(), modules.build(), optionalProperties)); + injector = app + .doNotInitializeLogging() + .setRequiredConfigurationProperties(serverProperties.buildOrThrow()) + .setOptionalConfigurationProperties(optionalProperties) + .quiet() + .initialize(); injector.getInstance(Announcer.class).start(); @@ -369,16 +363,6 @@ private TestingTrinoServer( refreshNodes(); } - private static Injector initialize(Map serverProperties, List modules, Map optionalProperties) - { - return new Bootstrap(modules) - .doNotInitializeLogging() - .setRequiredConfigurationProperties(serverProperties) - .setOptionalConfigurationProperties(optionalProperties) - .quiet() - .initialize(); - } - @Override public void close() throws IOException From 078f05f571298085a6bbd7a8756d70745f8cedd4 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Wed, 20 Jul 2022 17:21:43 +0200 Subject: [PATCH 2/5] empty From e45b8fc2c04b4a397e320869fbcf28306fa648a1 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Thu, 21 Jul 2022 14:04:20 +0200 Subject: [PATCH 3/5] empty From 6470217d6430eb340d58615807e3b269310eb116 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Fri, 22 Jul 2022 11:17:38 +0200 Subject: [PATCH 4/5] empty From 9b4d6182b4ef6bc9eea39c87302e4b4db1025236 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Mon, 25 Jul 2022 11:40:52 +0200 Subject: [PATCH 5/5] empty