From 85288baec038828e6389c23cec80400021a41710 Mon Sep 17 00:00:00 2001 From: Jorge Bescos Gascon Date: Thu, 8 Jul 2021 16:07:45 +0200 Subject: [PATCH] Adding debug in Jenkins to spot the issue Signed-off-by: Jorge Bescos Gascon --- .../jdk/connector/internal/StressTest.java | 31 +++++++++++++++++-- etc/jenkins/jenkins_build.sh | 2 +- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/StressTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/StressTest.java index 2b6c9d9691a..e9e178685d5 100644 --- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/StressTest.java +++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/StressTest.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map.Entry; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -40,6 +41,9 @@ import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; import org.glassfish.jersey.test.TestProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; public class StressTest extends JerseyTest { @@ -50,6 +54,16 @@ public class StressTest extends JerseyTest { private static CountDownLatch requests; private static CountDownLatch latch; + @BeforeClass + public static void beforeClass() { + System.out.println("Starting test StressTest"); + } + + @AfterClass + public static void afterClass() { + System.out.println("Finish test StressTest"); + } + @Path("/test") public static class TestResource { @GET @@ -85,6 +99,7 @@ protected void configureClient(ClientConfig config) { } @Test + @Ignore public void hangAllRequestsStatus200() throws InterruptedException, ExecutionException { ExecutorService executor = Executors.newFixedThreadPool(PARALLELISM, new ThreadFactoryBuilder().setNameFormat("client-%d").build()); @@ -99,7 +114,7 @@ public void hangAllRequestsStatus200() throws InterruptedException, ExecutionExc assertTrue(requests.await(20, TimeUnit.SECONDS)); latch.countDown(); for (Future response : responses) { - assertEquals(200, response.get().getStatus()); + assertEquals(threadDump(), 200, response.get().getStatus()); } } executor.shutdown(); @@ -107,6 +122,7 @@ public void hangAllRequestsStatus200() throws InterruptedException, ExecutionExc } @Test + @Ignore public void randomnessStatus200() throws InterruptedException, ExecutionException { ExecutorService executor = Executors.newFixedThreadPool(PARALLELISM, new ThreadFactoryBuilder().setNameFormat("client-%d").build()); @@ -118,7 +134,7 @@ public void randomnessStatus200() throws InterruptedException, ExecutionExceptio responses.add(future); } for (Future response : responses) { - assertEquals(200, response.get().getStatus()); + assertEquals(threadDump(), 200, response.get().getStatus()); } } executor.shutdown(); @@ -136,4 +152,15 @@ public void asyncTest() throws InterruptedException, ExecutionException { Future response = target("/test/2").request().async().get(); assertEquals(200, response.get().getStatus()); } + + private String threadDump() { + StringBuilder builder = new StringBuilder(); + for (Entry entry : Thread.getAllStackTraces().entrySet()) { + builder.append(entry.getKey().getName()).append("\r\n"); + for (StackTraceElement element : entry.getValue()) { + builder.append("\t").append(element).append("\r\n"); + } + } + return builder.toString(); + } } diff --git a/etc/jenkins/jenkins_build.sh b/etc/jenkins/jenkins_build.sh index afa8b1584e5..246e2512bdb 100644 --- a/etc/jenkins/jenkins_build.sh +++ b/etc/jenkins/jenkins_build.sh @@ -2,4 +2,4 @@ export DEBUG=true -mvn -V -U -B -e clean install glassfish-copyright:check -Dcopyright.quiet=false -Dsurefire.systemPropertiesFile=${WORKSPACE}/etc/jenkins/systemPropertiesFile \ No newline at end of file +mvn -X -V -U -B -e clean install glassfish-copyright:check -Dcopyright.quiet=false -Dsurefire.systemPropertiesFile=${WORKSPACE}/etc/jenkins/systemPropertiesFile \ No newline at end of file