From 6be45503dc82b23c03872d891815ac739883fd7d Mon Sep 17 00:00:00 2001 From: Valera V Harseko Date: Fri, 26 Jun 2026 11:27:44 +0300 Subject: [PATCH] Stabilize Oracle JDBC backend test on CI OracleTestCase could hang ~51 min and fail the whole opendj-server-legacy build when the Oracle container failed to start: withStartupAttempts(10) x withStartupTimeout(5m) retried a failing container for up to ~50 min, which tripped the maven-failsafe fork timeout (BUILD FAILURE: 'There was a timeout in the fork'). - OracleTestCase: reduce withStartupAttempts 10 -> 2 and bump the image from gvenzl/oracle-free:23.6-faststart (2025-03) to 23.26.2-slim-faststart (newest, slim variant for a lighter pull). - TestCase.setUp: skip (SkipException) instead of failing when the database container cannot be started - container startup is an infrastructure concern, not a regression in the JDBC backend under test. --- .../opends/server/backends/jdbc/OracleTestCase.java | 8 ++++---- .../org/opends/server/backends/jdbc/TestCase.java | 12 ++++++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/OracleTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/OracleTestCase.java index 471e527ccf..0b9547de10 100644 --- a/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/OracleTestCase.java +++ b/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/OracleTestCase.java @@ -21,25 +21,25 @@ import java.time.Duration; -//docker run --rm --name oracle-db -p 1521:1521 -e APP_USER=opendj -e ORACLE_DATABASE=database_name -e APP_USER_PASSWORD=password gvenzl/oracle-free:23.4-slim-faststart +//docker run --rm --name oracle-db -p 1521:1521 -e APP_USER=opendj -e ORACLE_DATABASE=database_name -e APP_USER_PASSWORD=password gvenzl/oracle-free:23.26.2-slim-faststart @Test(sequential = true) public class OracleTestCase extends TestCase { @Override protected JdbcDatabaseContainer getContainer() { - return new OracleContainer("gvenzl/oracle-free:23.6-faststart") + return new OracleContainer("gvenzl/oracle-free:23.26.2-slim-faststart") .withExposedPorts(1521) .withUsername("opendj") .withPassword("password") .withDatabaseName("database_name") .withStartupTimeout(Duration.ofMinutes(5)) - .withStartupAttempts(10); + .withStartupAttempts(2); } @Override protected String getContainerDockerCommand() { - return "run before test: docker run --rm --name oracle-db -p 1521:1521 -e APP_USER=opendj -e ORACLE_DATABASE=database_name -e APP_USER_PASSWORD=password gvenzl/oracle-free:23.4-slim-faststart"; + return "run before test: docker run --rm --name oracle-db -p 1521:1521 -e APP_USER=opendj -e ORACLE_DATABASE=database_name -e APP_USER_PASSWORD=password gvenzl/oracle-free:23.26.2-slim-faststart"; } @Override diff --git a/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/TestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/TestCase.java index b645ee182e..efcc1a825a 100644 --- a/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/TestCase.java +++ b/opendj-server-legacy/src/test/java/org/opends/server/backends/jdbc/TestCase.java @@ -39,8 +39,16 @@ public abstract class TestCase extends PluggableBackendImplTestCase