From 85c91cdd3b17e20f8eda1b88e66a9305578d2d14 Mon Sep 17 00:00:00 2001 From: Andre Kurait Date: Tue, 16 Apr 2024 10:15:17 -0500 Subject: [PATCH] Remove parallel test execution and mark long tests Signed-off-by: Andre Kurait --- TrafficCapture/build.gradle | 10 ++-------- TrafficCapture/trafficReplayer/build.gradle | 7 ------- .../migrations/replay/TrafficReplayerTest.java | 2 ++ .../datahandlers/NettyPacketToHttpConsumerTest.java | 5 +++++ .../e2etests/FullReplayerWithTracingChecksTest.java | 2 ++ .../replay/e2etests/FullTrafficReplayerTest.java | 1 + ...piredTrafficStreamBecomesTwoTargetChannelsTest.java | 2 ++ 7 files changed, 14 insertions(+), 15 deletions(-) diff --git a/TrafficCapture/build.gradle b/TrafficCapture/build.gradle index 506d9a33de..caea0e1287 100644 --- a/TrafficCapture/build.gradle +++ b/TrafficCapture/build.gradle @@ -105,9 +105,8 @@ allprojects { exclude project.property('excludeTests') } useJUnitPlatform { - systemProperty 'junit.jupiter.execution.parallel.enabled', 'true' - systemProperty 'junit.jupiter.execution.parallel.mode.default', "concurrent" - systemProperty 'junit.jupiter.execution.parallel.mode.classes.default', 'concurrent' + // Disable parallel test execution, see MIGRATIONS-1666 + systemProperty 'junit.jupiter.execution.parallel.enabled', 'false' } } @@ -122,11 +121,6 @@ allprojects { } task slowTest(type: Test) { - useJUnitPlatform { - // SlowTests currently use additional resource overhead, so halving core based parallelism - systemProperty 'junit.jupiter.execution.parallel.config.strategy', 'dynamic' - systemProperty 'junit.jupiter.execution.parallel.config.dynamic.factor', '0.5' - } systemProperty 'disableMemoryLeakTests', 'false' jacoco { enabled = true diff --git a/TrafficCapture/trafficReplayer/build.gradle b/TrafficCapture/trafficReplayer/build.gradle index fe81b4665a..53f4ee04ec 100644 --- a/TrafficCapture/trafficReplayer/build.gradle +++ b/TrafficCapture/trafficReplayer/build.gradle @@ -120,10 +120,3 @@ jar { attributes 'Main-Class': application.mainClass } } - -// TODO: Fix Parallel Execution for junit trafficReplayer tests -// with resourceSharing of TrafficReplayerRunner to eliminate forking and rely on threads -slowTest { - forkEvery(1) - maxParallelForks = Runtime.runtime.availableProcessors() -} diff --git a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/TrafficReplayerTest.java b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/TrafficReplayerTest.java index ef8ba36d9e..19b2bcedc3 100644 --- a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/TrafficReplayerTest.java +++ b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/TrafficReplayerTest.java @@ -5,6 +5,7 @@ import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.opensearch.migrations.replay.datatypes.ITrafficStreamKey; import org.opensearch.migrations.replay.tracing.IReplayContexts; @@ -206,6 +207,7 @@ public void onTrafficStreamIgnored(@NonNull IReplayContexts.ITrafficStreamsLifec } @Test + @Tag("longTest") public void testCapturedReadsAfterCloseAreHandledAsNew() throws Exception { try (var tr = new TrafficReplayerTopLevel(rootContext, new URI("http://localhost:9200"), null, diff --git a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/datahandlers/NettyPacketToHttpConsumerTest.java b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/datahandlers/NettyPacketToHttpConsumerTest.java index 13e7647324..f5deeabd1a 100644 --- a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/datahandlers/NettyPacketToHttpConsumerTest.java +++ b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/datahandlers/NettyPacketToHttpConsumerTest.java @@ -10,6 +10,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; @@ -143,6 +144,7 @@ private SimpleHttpResponse makeTestRequestViaClient(SimpleHttpClientForTesting c "true, false", "true, true" }) + @Tag("longTest") public void testHttpResponseIsSuccessfullyCaptured(boolean useTls, boolean largeResponse) throws Exception { try (var testServer = createTestServer(useTls, largeResponse)) { for (int i = 0; i < 1; ++i) { @@ -180,6 +182,7 @@ public void testHttpResponseIsSuccessfullyCaptured(boolean useTls, boolean large "true, false", "true, true"}) @WrapWithNettyLeakDetection(repetitions = 1) + @Tag("longTest") public void testThatPeerResetTriggersFinalizeFuture(boolean useTls, boolean withServerReadTimeout) throws Exception { try (var testServer = SimpleNettyHttpServer.makeServer(useTls, withServerReadTimeout ? Duration.ofMillis(100) : null, @@ -219,6 +222,7 @@ public void testThatPeerResetTriggersFinalizeFuture(boolean useTls, boolean with "true, false", "true, true" }) + @Tag("longTest") public void testThatConnectionsAreKeptAliveAndShared(boolean useTls, boolean largeResponse) throws Exception { try (var testServer = SimpleNettyHttpServer.makeServer(useTls, @@ -268,6 +272,7 @@ private static String getResponsePacketsAsString(AggregatedRawResponse response) @ParameterizedTest @ValueSource(booleans = {false, true}) @WrapWithNettyLeakDetection(repetitions = 1) + @Tag("longTest") public void testMetricCountsFor_testThatConnectionsAreKeptAliveAndShared(boolean useTls) throws Exception { testThatConnectionsAreKeptAliveAndShared(useTls, false); Thread.sleep(200); // let metrics settle down diff --git a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullReplayerWithTracingChecksTest.java b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullReplayerWithTracingChecksTest.java index 26864435bf..d0f549f921 100644 --- a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullReplayerWithTracingChecksTest.java +++ b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullReplayerWithTracingChecksTest.java @@ -5,6 +5,7 @@ import io.opentelemetry.sdk.trace.data.SpanData; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.parallel.ResourceLock; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; @@ -49,6 +50,7 @@ protected TestContext makeInstrumentationContext() { @ParameterizedTest @ValueSource(ints = {1, 2}) @ResourceLock("TrafficReplayerRunner") + @Tag("longTest") public void testStreamWithRequestsWithCloseIsCommittedOnce(int numRequests) throws Throwable { var random = new Random(1); try (var httpServer = SimpleNettyHttpServer.makeServer(false, Duration.ofMinutes(10), diff --git a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullTrafficReplayerTest.java b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullTrafficReplayerTest.java index 47889b3bf0..188174eef8 100644 --- a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullTrafficReplayerTest.java +++ b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/FullTrafficReplayerTest.java @@ -162,6 +162,7 @@ public void testLongRequestEndingAfterEOFStillCountsCorrectly() throws Throwable @Test @ResourceLock("TrafficReplayerRunner") + @Tag("longTest") public void testSingleStreamWithCloseIsCommitted() throws Throwable { var random = new Random(1); try (var httpServer = SimpleNettyHttpServer.makeServer(false, Duration.ofMillis(2), diff --git a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/SlowAndExpiredTrafficStreamBecomesTwoTargetChannelsTest.java b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/SlowAndExpiredTrafficStreamBecomesTwoTargetChannelsTest.java index da0f44d986..ca1c92d920 100644 --- a/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/SlowAndExpiredTrafficStreamBecomesTwoTargetChannelsTest.java +++ b/TrafficCapture/trafficReplayer/src/test/java/org/opensearch/migrations/replay/e2etests/SlowAndExpiredTrafficStreamBecomesTwoTargetChannelsTest.java @@ -6,6 +6,7 @@ import io.opentelemetry.sdk.metrics.data.MetricData; import lombok.SneakyThrows; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.opensearch.migrations.replay.TimeShifter; import org.opensearch.migrations.replay.TrafficReplayerTopLevel; @@ -84,6 +85,7 @@ private static TrafficStream makeTrafficStreamFor(String connectionId, int conne } @Test + @Tag("longTest") public void test() throws Exception { TestContext rc = TestContext.withTracking(false, true); var responseTracker = new TrackingResponseBuilder(3);