This is an automated email from the ASF dual-hosted git repository.

tuglu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new a2ed22c27c2 Publish test container logs on failure and fix broken 
KinesisFaultToleranceTest
a2ed22c27c2 is described below

commit a2ed22c27c2dd0feadeefce547e45cda7d24e871
Author: jtuglu1 <[email protected]>
AuthorDate: Wed Mar 11 11:02:31 2026 -0700

    Publish test container logs on failure and fix broken 
KinesisFaultToleranceTest
    
    Clone of https://github.com/apache/druid/pull/19126.
---
 .github/workflows/docker-tests.yml                       | 10 ++++++++++
 .../testing/embedded/docker/DruidContainerResource.java  | 16 ++++++++++++++--
 .../testing/embedded/indexing/StreamIndexTestBase.java   |  2 +-
 .../druid/testing/embedded/EmbeddedDruidCluster.java     | 11 +++++++++++
 .../testing/embedded/junit5/EmbeddedClusterTestBase.java |  1 +
 5 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/docker-tests.yml 
b/.github/workflows/docker-tests.yml
index 8a54032a246..dd77515f7b9 100644
--- a/.github/workflows/docker-tests.yml
+++ b/.github/workflows/docker-tests.yml
@@ -51,6 +51,16 @@ jobs:
         run: .github/scripts/run_docker-tests
         timeout-minutes: 60
 
+      - name: Tar Druid container logs
+        if: ${{ failure() && steps.run-it.conclusion == 'failure' }}
+        run: tar cvzf ./druid-container-logs.tgz 
./embedded-tests/druid-container-logs
+
+      - name: Upload Druid container logs to GitHub
+        if: ${{ failure() && steps.run-it.conclusion == 'failure' }}
+        uses: actions/upload-artifact@v4
+        with:
+          name: failure-druid-container-logs
+          path: druid-container-logs.tgz
       - name: Collect docker logs on failure
         if: ${{ failure() && steps.run-it.conclusion == 'failure' }}
         run: |
diff --git 
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/docker/DruidContainerResource.java
 
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/docker/DruidContainerResource.java
index 38383c9b088..1d9890d863b 100644
--- 
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/docker/DruidContainerResource.java
+++ 
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/docker/DruidContainerResource.java
@@ -154,7 +154,9 @@ public class DruidContainerResource extends 
TestcontainerResource<DruidContainer
     );
 
     // Mount directories used by this container for easier debugging with 
service logs
-    this.containerDirectory = cluster.getTestFolder().getOrCreateFolder(name);
+    final File clusterDirectory = new File("druid-container-logs", 
cluster.getTestClassName());
+    this.containerDirectory = new File(clusterDirectory, name);
+    cleanDirectory(containerDirectory);
 
     final File logDirectory = new File(containerDirectory, "log");
     this.serviceLogsDirectory = new MountedDir(new File("/opt/druid/log"), 
logDirectory);
@@ -179,7 +181,7 @@ public class DruidContainerResource extends 
TestcontainerResource<DruidContainer
 
     log.info(
         "Starting Druid container[%s] with image[%s], exposed ports[%s] and 
mounted directory[%s].",
-        name, imageName, Arrays.toString(command.getExposedPorts()), 
containerDirectory
+        name, imageName, Arrays.toString(command.getExposedPorts()), 
containerDirectory.getAbsolutePath()
     );
 
     setCommonProperties(container);
@@ -235,6 +237,16 @@ public class DruidContainerResource extends 
TestcontainerResource<DruidContainer
     }
   }
 
+  private static void cleanDirectory(File dir)
+  {
+    try {
+      FileUtils.deleteDirectory(dir);
+    }
+    catch (Exception e) {
+      throw new RuntimeException(e);
+    }
+  }
+
   @Override
   public String toString()
   {
diff --git 
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/indexing/StreamIndexTestBase.java
 
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/indexing/StreamIndexTestBase.java
index ea9dd037bbe..38797ae14fc 100644
--- 
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/indexing/StreamIndexTestBase.java
+++ 
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/indexing/StreamIndexTestBase.java
@@ -117,7 +117,7 @@ public abstract class StreamIndexTestBase extends 
EmbeddedClusterTestBase
             Period.millis(10),
             Period.millis(10),
             true,
-            Period.seconds(5),
+            Period.seconds(60),
             null, null, null, null, null, null, null, null,
             false,
             null
diff --git 
a/services/src/test/java/org/apache/druid/testing/embedded/EmbeddedDruidCluster.java
 
b/services/src/test/java/org/apache/druid/testing/embedded/EmbeddedDruidCluster.java
index 182d11905d5..cb428d30276 100644
--- 
a/services/src/test/java/org/apache/druid/testing/embedded/EmbeddedDruidCluster.java
+++ 
b/services/src/test/java/org/apache/druid/testing/embedded/EmbeddedDruidCluster.java
@@ -80,6 +80,7 @@ public class EmbeddedDruidCluster implements EmbeddedResource
   private final List<Class<? extends DruidModule>> extensionModules = new 
ArrayList<>();
   private final Properties commonProperties = new Properties();
 
+  private String testClassName;
   private EmbeddedHostname embeddedHostname = EmbeddedHostname.localhost();
   private boolean startedFirstDruidServer = false;
 
@@ -249,6 +250,16 @@ public class EmbeddedDruidCluster implements 
EmbeddedResource
     return this;
   }
 
+  public void setTestClassName(String testClassName)
+  {
+    this.testClassName = testClassName;
+  }
+
+  public String getTestClassName()
+  {
+    return testClassName;
+  }
+
   /**
    * Hostname to be used for embedded services (both Druid or external).
    */
diff --git 
a/services/src/test/java/org/apache/druid/testing/embedded/junit5/EmbeddedClusterTestBase.java
 
b/services/src/test/java/org/apache/druid/testing/embedded/junit5/EmbeddedClusterTestBase.java
index f370da1ff08..6c9fe00f627 100644
--- 
a/services/src/test/java/org/apache/druid/testing/embedded/junit5/EmbeddedClusterTestBase.java
+++ 
b/services/src/test/java/org/apache/druid/testing/embedded/junit5/EmbeddedClusterTestBase.java
@@ -94,6 +94,7 @@ public abstract class EmbeddedClusterTestBase
   protected void setup() throws Exception
   {
     cluster = createCluster();
+    cluster.setTestClassName(getClass().getSimpleName());
     cluster.start();
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to