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

davidzollo pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new c7396b842c [Test][E2E] Stabilize Db2 container readiness for JDBC IT 
(#11138)
c7396b842c is described below

commit c7396b842c5496f8cfc1d8a9e406ea3d2ac437c1
Author: Daniel <[email protected]>
AuthorDate: Sat Jun 20 20:24:33 2026 +0800

    [Test][E2E] Stabilize Db2 container readiness for JDBC IT (#11138)
---
 .../seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java    | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
index ee0633ee49..29cd238557 100644
--- 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
+++ 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
@@ -27,7 +27,7 @@ import 
org.apache.seatunnel.common.exception.SeaTunnelRuntimeException;
 import org.testcontainers.containers.Db2Container;
 import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.containers.output.Slf4jLogConsumer;
-import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
 import org.testcontainers.utility.DockerLoggerFactory;
 
 import java.math.BigDecimal;
@@ -56,8 +56,11 @@ public class JdbcDb2IT extends AbstractJdbcIT {
     private static final List<String> CONFIG_FILE =
             Lists.newArrayList("/jdbc_db2_source_and_sink.conf");
 
-    /** <a href="https://hub.docker.com/r/ibmcom/db2";>db2 in dockerhub</a> */
-    private static final String DB2_IMAGE = "ibmcom/db2";
+    /**
+     * Keep the tag aligned with Testcontainers' validated default instead of 
relying on {@code
+     * latest}, whose startup behavior is not stable enough for CI.
+     */
+    private static final String DB2_IMAGE = "ibmcom/db2:11.5.0.0a";
 
     private static final int PORT = 50000;
     private static final int LOCAL_PORT = 50000;
@@ -181,6 +184,8 @@ public class JdbcDb2IT extends AbstractJdbcIT {
 
     @Override
     protected GenericContainer<?> initContainer() {
+        // The DB2 port becomes reachable before the instance can accept JDBC 
logins, and the
+        // first-time initialization regularly exceeds the default 10 minute 
wait on slow runners.
         GenericContainer<?> container =
                 new Db2Container(DB2_IMAGE)
                         .withExposedPorts(PORT)
@@ -190,7 +195,9 @@ public class JdbcDb2IT extends AbstractJdbcIT {
                         .withUsername(DB2_USER)
                         .withPassword(DB2_PASSWORD)
                         .waitingFor(
-                                
Wait.forListeningPort().withStartupTimeout(Duration.ofMinutes(5)))
+                                new LogMessageWaitStrategy()
+                                        .withRegEx(".*Setup has 
completed\\..*")
+                                        
.withStartupTimeout(Duration.ofMinutes(20)))
                         .withLogConsumer(
                                 new 
Slf4jLogConsumer(DockerLoggerFactory.getLogger(DB2_IMAGE)))
                         .acceptLicense();

Reply via email to