You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by fa...@apache.org on 2024/07/29 01:49:31 UTC
(flink-connector-jdbc) 07/14: [FLINK-35366] Bump containers and fix forkCountItCase
This is an automated email from the ASF dual-hosted git repository.
fanrui pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-jdbc.git
commit 488423348818c034fd09320f8654373ea51dcd0a
Author: Joao Boto <bo...@boto.pro>
AuthorDate: Tue Jul 9 10:28:48 2024 +0200
[FLINK-35366] Bump containers and fix forkCountItCase
---
.../src/test/resources/log4j2-test.properties | 2 +-
.../database/catalog/CrateDBCatalogTestBase.java | 22 ++++++-
.../jdbc/cratedb/testutils/CrateDBDatabase.java | 5 +-
.../jdbc/cratedb/testutils/CrateDBImages.java | 6 +-
.../connector/jdbc/db2/testutils/Db2Database.java | 4 +-
.../connector/jdbc/db2/testutils/Db2Images.java | 6 ++
.../database/catalog/MySql56CatalogITCase.java | 35 ----------
.../database/catalog/MySql57CatalogITCase.java | 34 ----------
.../jdbc/mysql/testutils/MySql56Database.java | 57 -----------------
.../jdbc/mysql/testutils/MySql57Database.java | 57 -----------------
.../jdbc/mysql/testutils/MySqlDatabase.java | 2 +-
.../jdbc/mysql/testutils/MySqlImages.java | 4 +-
flink-connector-jdbc-oceanbase/pom.xml | 6 ++
.../jdbc/oceanbase/OceanBaseOracleTestBase.java | 8 +--
.../oceanbase/testutils/OceanBaseContainer.java | 74 ----------------------
.../oceanbase/testutils/OceanBaseDatabase.java | 5 +-
.../jdbc/oceanbase/testutils/OceanBaseImages.java | 5 +-
.../oceanbase/testutils/OceanBaseMetadata.java | 4 +-
.../oceanbase/testutils/OceanBaseTestDatabase.java | 25 --------
.../jdbc/oracle/testutils/OracleImages.java | 1 -
.../jdbc/postgres/testutils/PostgresDatabase.java | 2 +-
.../jdbc/postgres/testutils/PostgresImages.java | 4 +-
flink-connector-jdbc-sqlserver/pom.xml | 2 +
.../flink/connector/jdbc/trino/TrinoTestBase.java | 2 +-
.../trino/database/dialect/TrinoDialectTest.java | 3 +
.../jdbc/trino/testutils/TrinoDatabase.java | 2 +-
.../jdbc/trino/testutils/TrinoImages.java | 2 +-
flink-connector-jdbc/pom.xml | 8 +++
pom.xml | 3 +-
29 files changed, 72 insertions(+), 318 deletions(-)
diff --git a/flink-connector-jdbc-backward-compatibility/src/test/resources/log4j2-test.properties b/flink-connector-jdbc-backward-compatibility/src/test/resources/log4j2-test.properties
index 5a383778..835c2ec9 100644
--- a/flink-connector-jdbc-backward-compatibility/src/test/resources/log4j2-test.properties
+++ b/flink-connector-jdbc-backward-compatibility/src/test/resources/log4j2-test.properties
@@ -18,7 +18,7 @@
# Set root logger level to OFF to not flood build logs
# set manually to INFO for debugging purposes
-rootLogger.level = WARN
+rootLogger.level = OFF
rootLogger.appenderRef.test.ref = TestLogger
appender.testlogger.name = TestLogger
diff --git a/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/database/catalog/CrateDBCatalogTestBase.java b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/database/catalog/CrateDBCatalogTestBase.java
index b180ef01..73a49b92 100644
--- a/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/database/catalog/CrateDBCatalogTestBase.java
+++ b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/database/catalog/CrateDBCatalogTestBase.java
@@ -23,6 +23,7 @@ import org.apache.flink.connector.jdbc.testutils.JdbcITCaseBase;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.api.Schema;
+import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,6 +32,8 @@ import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
+import java.util.Arrays;
+import java.util.List;
import java.util.TimeZone;
import static org.apache.flink.connector.jdbc.cratedb.testutils.CrateDBDatabase.CONTAINER;
@@ -103,6 +106,21 @@ class CrateDBCatalogTestBase implements JdbcITCaseBase, CrateDBTestBase {
TABLE_ARRAY_TYPE, getArrayTable().values));
}
+ @AfterAll
+ static void clean() throws SQLException {
+ List<String> tables =
+ Arrays.asList(
+ CrateDBTablePath.fromFlinkTableName(TABLE1).getFullPath(),
+ CrateDBTablePath.fromFlinkTableName(TABLE2).getFullPath(),
+ new CrateDBTablePath(TEST_SCHEMA, TABLE3).getFullPath(),
+ CrateDBTablePath.fromFlinkTableName(TABLE_PRIMITIVE_TYPE).getFullPath(),
+ CrateDBTablePath.fromFlinkTableName(TABLE_TARGET_PRIMITIVE).getFullPath(),
+ CrateDBTablePath.fromFlinkTableName(TABLE_ARRAY_TYPE).getFullPath());
+ for (String table : tables) {
+ executeSQL(String.format("DROP TABLE %s", table));
+ }
+ }
+
public static void createTable(CrateDBTablePath tablePath, String tableSchemaSql)
throws SQLException {
executeSQL(String.format("CREATE TABLE %s(%s);", tablePath.getFullPath(), tableSchemaSql));
@@ -165,7 +183,7 @@ class CrateDBCatalogTestBase implements JdbcITCaseBase, CrateDBTestBase {
.column("ip", DataTypes.STRING())
.column("timestamp", DataTypes.TIMESTAMP(6))
// .column("timestamptz", DataTypes.TIMESTAMP_WITH_TIME_ZONE(6))
- .primaryKeyNamed("primitive_table_pk", "short", "int")
+ .primaryKeyNamed("primitive_table_pk", "int", "short")
.build(),
"int integer, "
+ "short short, "
@@ -185,7 +203,7 @@ class CrateDBCatalogTestBase implements JdbcITCaseBase, CrateDBTestBase {
+ "ip ip, "
+ "timestamp timestamp, "
// + "timestamptz timestamptz, "
- + "PRIMARY KEY (short, int)",
+ + "PRIMARY KEY (int, short)",
// Values
"1,"
+ "3,"
diff --git a/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBDatabase.java b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBDatabase.java
index 34869cbe..50d3ae4c 100644
--- a/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBDatabase.java
+++ b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBDatabase.java
@@ -31,14 +31,13 @@ import java.time.Duration;
import static java.time.temporal.ChronoUnit.SECONDS;
/** A CrateDB database for testing. */
-public class CrateDBDatabase extends DatabaseExtension {
+public class CrateDBDatabase extends DatabaseExtension implements CrateDBImages {
- private static final String CRATEDB = "crate:5.3.1";
private static final int CRATEDB_PG_PORT = 5432;
private static final int CRATEDB_HTTP_PORT = 4200;
private static final DockerImageName CRATEDB_DOCKER_IMAGE =
- DockerImageName.parse(CRATEDB).asCompatibleSubstituteFor("postgres");
+ DockerImageName.parse(CRATEDB_5).asCompatibleSubstituteFor("postgres");
private static final WaitStrategy WAIT_STRATEGY =
Wait.forHttp("/")
.forPort(CRATEDB_HTTP_PORT)
diff --git a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBImages.java
similarity index 86%
copy from flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java
copy to flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBImages.java
index f70b8aba..4269e092 100644
--- a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java
+++ b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/connector/jdbc/cratedb/testutils/CrateDBImages.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.flink.connector.jdbc.trino.testutils;
+package org.apache.flink.connector.jdbc.cratedb.testutils;
/** Postgres docker images. */
-public interface TrinoImages {
- String TRINO_IMAGE = "trinodb/trino:418";
+public interface CrateDBImages {
+ String CRATEDB_5 = "crate:5.7.2";
}
diff --git a/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Database.java b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Database.java
index a6e1f3db..24e75858 100644
--- a/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Database.java
+++ b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Database.java
@@ -29,13 +29,13 @@ import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.junit.jupiter.Container;
/** Db2 database for testing. */
-public class Db2Database extends DatabaseExtension {
+public class Db2Database extends DatabaseExtension implements Db2Images {
private static final Logger LOG = LoggerFactory.getLogger(Db2Database.class);
@Container
protected static final Db2Container CONTAINER =
- new Db2Container()
+ new Db2Container(DB2_11)
.withUsername("db2inst1")
.withPassword("flinkpw")
.withEnv("AUTOCONFIG", "false")
diff --git a/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Images.java b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Images.java
new file mode 100644
index 00000000..e34d99ef
--- /dev/null
+++ b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/connector/jdbc/db2/testutils/Db2Images.java
@@ -0,0 +1,6 @@
+package org.apache.flink.connector.jdbc.db2.testutils;
+
+/** DB2 docker images. */
+public interface Db2Images {
+ String DB2_11 = "icr.io/db2_community/db2:11.5.8.0";
+}
diff --git a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/database/catalog/MySql56CatalogITCase.java b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/database/catalog/MySql56CatalogITCase.java
deleted file mode 100644
index f5cd0b99..00000000
--- a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/database/catalog/MySql56CatalogITCase.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.connector.jdbc.mysql.database.catalog;
-
-import org.apache.flink.connector.jdbc.mysql.testutils.MySql56Database;
-import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
-
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-/** E2E test for {@link MySqlCatalog} with MySql version 5.6. */
-class MySql56CatalogITCase extends MySqlCatalogTestBase {
-
- @RegisterExtension private static final MySql56Database DATABASE = new MySql56Database();
-
- @Override
- public DatabaseMetadata getMetadata() {
- return MySql56Database.getMetadata();
- }
-}
diff --git a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/database/catalog/MySql57CatalogITCase.java b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/database/catalog/MySql57CatalogITCase.java
deleted file mode 100644
index 894d0cf3..00000000
--- a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/database/catalog/MySql57CatalogITCase.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.connector.jdbc.mysql.database.catalog;
-
-import org.apache.flink.connector.jdbc.mysql.testutils.MySql57Database;
-import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
-
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-/** E2E test for {@link MySqlCatalog} with MySql version 5.7. */
-class MySql57CatalogITCase extends MySqlCatalogTestBase {
- @RegisterExtension private static final MySql57Database DATABASE = new MySql57Database();
-
- @Override
- public DatabaseMetadata getMetadata() {
- return MySql57Database.getMetadata();
- }
-}
diff --git a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySql56Database.java b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySql56Database.java
deleted file mode 100644
index 674a85a4..00000000
--- a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySql56Database.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.connector.jdbc.mysql.testutils;
-
-import org.apache.flink.connector.jdbc.testutils.DatabaseExtension;
-import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
-import org.apache.flink.util.FlinkRuntimeException;
-
-import org.testcontainers.containers.MySQLContainer;
-
-/** A MySql database for testing. */
-public class MySql56Database extends DatabaseExtension implements MySqlImages {
-
- private static final MySQLContainer<?> CONTAINER =
- new MySqlContainer(MYSQL_5_6)
- .withCommand("--character-set-server=utf8")
- .withEnv("MYSQL_ROOT_HOST", "%");
-
- private static MySqlMetadata metadata;
-
- public static MySqlMetadata getMetadata() {
- if (!CONTAINER.isRunning()) {
- throw new FlinkRuntimeException("Container is stopped.");
- }
- if (metadata == null) {
- metadata = new MySqlMetadata(CONTAINER, true);
- }
- return metadata;
- }
-
- @Override
- protected DatabaseMetadata startDatabase() throws Exception {
- CONTAINER.start();
- return getMetadata();
- }
-
- @Override
- protected void stopDatabase() throws Exception {
- CONTAINER.stop();
- metadata = null;
- }
-}
diff --git a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySql57Database.java b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySql57Database.java
deleted file mode 100644
index 64ee1579..00000000
--- a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySql57Database.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.connector.jdbc.mysql.testutils;
-
-import org.apache.flink.connector.jdbc.testutils.DatabaseExtension;
-import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
-import org.apache.flink.util.FlinkRuntimeException;
-
-import org.testcontainers.containers.MySQLContainer;
-
-/** A MySql database for testing. */
-public class MySql57Database extends DatabaseExtension implements MySqlImages {
-
- private static final MySQLContainer<?> CONTAINER =
- new MySqlContainer(MYSQL_5_7)
- .withCommand("--character-set-server=utf8")
- .withEnv("MYSQL_ROOT_HOST", "%");
-
- private static MySqlMetadata metadata;
-
- public static MySqlMetadata getMetadata() {
- if (!CONTAINER.isRunning()) {
- throw new FlinkRuntimeException("Container is stopped.");
- }
- if (metadata == null) {
- metadata = new MySqlMetadata(CONTAINER, true);
- }
- return metadata;
- }
-
- @Override
- protected DatabaseMetadata startDatabase() throws Exception {
- CONTAINER.start();
- return getMetadata();
- }
-
- @Override
- protected void stopDatabase() throws Exception {
- CONTAINER.stop();
- metadata = null;
- }
-}
diff --git a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlDatabase.java b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlDatabase.java
index cdcd57ff..99195063 100644
--- a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlDatabase.java
+++ b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlDatabase.java
@@ -27,7 +27,7 @@ import org.testcontainers.containers.MySQLContainer;
public class MySqlDatabase extends DatabaseExtension implements MySqlImages {
private static final MySQLContainer<?> CONTAINER =
- new MySqlContainer(MYSQL_8_0)
+ new MySqlContainer(MYSQL_8)
.withXa()
.withLockWaitTimeout(50_000L)
.withCommand("--character-set-server=utf8")
diff --git a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlImages.java b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlImages.java
index d4a43693..d1d86139 100644
--- a/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlImages.java
+++ b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/connector/jdbc/mysql/testutils/MySqlImages.java
@@ -19,7 +19,5 @@ package org.apache.flink.connector.jdbc.mysql.testutils;
/** MySql docker images. */
public interface MySqlImages {
- String MYSQL_5_6 = "mysql:5.6.51";
- String MYSQL_5_7 = "mysql:5.7.41";
- String MYSQL_8_0 = "mysql:8.0.32";
+ String MYSQL_8 = "mysql:9.0.0";
}
diff --git a/flink-connector-jdbc-oceanbase/pom.xml b/flink-connector-jdbc-oceanbase/pom.xml
index 5045e027..63d61a21 100644
--- a/flink-connector-jdbc-oceanbase/pom.xml
+++ b/flink-connector-jdbc-oceanbase/pom.xml
@@ -97,6 +97,12 @@
<artifactId>jdbc</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>oceanbase</artifactId>
+ <version>${testcontainers.version}</version>
+ <scope>test</scope>
+ </dependency>
<!-- ArchUit test dependencies -->
diff --git a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/OceanBaseOracleTestBase.java b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/OceanBaseOracleTestBase.java
index ab82655c..7aeb71e0 100644
--- a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/OceanBaseOracleTestBase.java
+++ b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/OceanBaseOracleTestBase.java
@@ -19,7 +19,7 @@
package org.apache.flink.connector.jdbc.oceanbase;
import org.apache.flink.connector.jdbc.oceanbase.table.OceanBaseTableRow;
-import org.apache.flink.connector.jdbc.oceanbase.testutils.OceanBaseTestDatabase;
+import org.apache.flink.connector.jdbc.oceanbase.testutils.OceanBaseDatabase;
import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
import org.apache.flink.connector.jdbc.testutils.DatabaseTest;
import org.apache.flink.connector.jdbc.testutils.tables.TableField;
@@ -28,7 +28,7 @@ import org.apache.flink.connector.jdbc.testutils.tables.TableRow;
import org.junit.jupiter.api.extension.ExtendWith;
/** Base class for OceanBase Oracle mode testing. */
-@ExtendWith(OceanBaseTestDatabase.class)
+@ExtendWith(OceanBaseDatabase.class)
public interface OceanBaseOracleTestBase extends DatabaseTest {
default TableRow tableRow(String name, TableField... fields) {
@@ -37,8 +37,6 @@ public interface OceanBaseOracleTestBase extends DatabaseTest {
@Override
default DatabaseMetadata getMetadata() {
- // OceanBase Oracle mode is only available in OceanBase Enterprise Edition, which
- // does not provide docker image, so here use OceanBaseTestDatabase to test locally.
- return OceanBaseTestDatabase.getMetadata();
+ return OceanBaseDatabase.getMetadata();
}
}
diff --git a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseContainer.java b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseContainer.java
deleted file mode 100644
index a76954a5..00000000
--- a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseContainer.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.connector.jdbc.oceanbase.testutils;
-
-import org.testcontainers.containers.JdbcDatabaseContainer;
-import org.testcontainers.utility.DockerImageName;
-
-/** {@link JdbcDatabaseContainer} for OceanBase. */
-public class OceanBaseContainer extends JdbcDatabaseContainer<OceanBaseContainer> {
-
- public static final Integer SQL_PORT = 2881;
-
- public OceanBaseContainer(String dockerImageName) {
- this(DockerImageName.parse(dockerImageName));
-
- addExposedPort(SQL_PORT);
- }
-
- public OceanBaseContainer(DockerImageName dockerImageName) {
- super(dockerImageName);
- }
-
- @Override
- public String getDriverClassName() {
- return "com.oceanbase.jdbc.Driver";
- }
-
- @Override
- public String getJdbcUrl() {
- return getJdbcUrl("test");
- }
-
- public String getJdbcUrl(String databaseName) {
- String additionalUrlParams = constructUrlParameters("?", "&");
- return "jdbc:oceanbase://"
- + getHost()
- + ":"
- + getMappedPort(SQL_PORT)
- + "/"
- + databaseName
- + additionalUrlParams;
- }
-
- @Override
- public String getUsername() {
- return "root@test";
- }
-
- @Override
- public String getPassword() {
- return "";
- }
-
- @Override
- protected String getTestQueryString() {
- return "SELECT 1";
- }
-}
diff --git a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseDatabase.java b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseDatabase.java
index 6db2c728..62279748 100644
--- a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseDatabase.java
+++ b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseDatabase.java
@@ -25,6 +25,7 @@ import org.apache.flink.util.FlinkRuntimeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.output.Slf4jLogConsumer;
+import org.testcontainers.oceanbase.OceanBaseCEContainer;
import java.sql.Connection;
import java.sql.Statement;
@@ -34,8 +35,8 @@ public class OceanBaseDatabase extends DatabaseExtension implements OceanBaseIma
private static final Logger LOG = LoggerFactory.getLogger(OceanBaseDatabase.class);
- private static final OceanBaseContainer CONTAINER =
- new OceanBaseContainer(OCEANBASE_CE_4)
+ private static final OceanBaseCEContainer CONTAINER =
+ new OceanBaseCEContainer(OCEANBASE_CE_4)
.withEnv("MODE", "slim")
.withEnv("FASTBOOT", "true")
.withEnv("OB_DATAFILE_SIZE", "1G")
diff --git a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseImages.java b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseImages.java
index b3ebf8b6..e167bad5 100644
--- a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseImages.java
+++ b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseImages.java
@@ -20,8 +20,5 @@ package org.apache.flink.connector.jdbc.oceanbase.testutils;
/** OceanBase docker images. */
public interface OceanBaseImages {
-
- String OCEANBASE_CE_4 = "oceanbase/oceanbase-ce:4.2.1_bp3";
-
- String OCEANBASE_CE_3 = "oceanbase/oceanbase-ce:3.1.4";
+ String OCEANBASE_CE_4 = "oceanbase/oceanbase-ce:4.2.2";
}
diff --git a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseMetadata.java b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseMetadata.java
index 9b8b3e4c..f6b16212 100644
--- a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseMetadata.java
+++ b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseMetadata.java
@@ -20,6 +20,8 @@ package org.apache.flink.connector.jdbc.oceanbase.testutils;
import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
+import org.testcontainers.oceanbase.OceanBaseCEContainer;
+
import javax.sql.XADataSource;
/** OceanBase metadata. */
@@ -31,7 +33,7 @@ public class OceanBaseMetadata implements DatabaseMetadata {
private final String driver;
private final String version;
- public OceanBaseMetadata(OceanBaseContainer container) {
+ public OceanBaseMetadata(OceanBaseCEContainer container) {
this.username = container.getUsername();
this.password = container.getPassword();
this.url = container.getJdbcUrl();
diff --git a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseTestDatabase.java b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseTestDatabase.java
deleted file mode 100644
index b3cb6839..00000000
--- a/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/connector/jdbc/oceanbase/testutils/OceanBaseTestDatabase.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.flink.connector.jdbc.oceanbase.testutils;
-
-import org.apache.flink.connector.jdbc.testutils.DatabaseExtension;
-import org.apache.flink.connector.jdbc.testutils.DatabaseMetadata;
-
-/** OceanBase database for locally testing. */
-public class OceanBaseTestDatabase extends DatabaseExtension {
-
- public static OceanBaseMetadata getMetadata() {
- return new OceanBaseMetadata(
- System.getenv("test.oceanbase.username"),
- System.getenv("test.oceanbase.password"),
- System.getenv("test.oceanbase.url"),
- "com.oceanbase.jdbc.Driver",
- "test");
- }
-
- @Override
- protected DatabaseMetadata startDatabase() throws Exception {
- return getMetadata();
- }
-
- @Override
- protected void stopDatabase() throws Exception {}
-}
diff --git a/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/connector/jdbc/oracle/testutils/OracleImages.java b/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/connector/jdbc/oracle/testutils/OracleImages.java
index 0c40e9e3..23f908a8 100644
--- a/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/connector/jdbc/oracle/testutils/OracleImages.java
+++ b/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/connector/jdbc/oracle/testutils/OracleImages.java
@@ -19,6 +19,5 @@ package org.apache.flink.connector.jdbc.oracle.testutils;
/** Oracle docker images. */
public interface OracleImages {
- String ORACLE_18 = "gvenzl/oracle-xe:18.4.0-slim";
String ORACLE_21 = "gvenzl/oracle-xe:21.3.0-slim-faststart";
}
diff --git a/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresDatabase.java b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresDatabase.java
index a4445e22..5b1700bd 100644
--- a/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresDatabase.java
+++ b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresDatabase.java
@@ -30,7 +30,7 @@ import static org.apache.flink.util.Preconditions.checkArgument;
public class PostgresDatabase extends DatabaseExtension implements PostgresImages {
private static final PostgreSQLContainer<?> CONTAINER =
- new PostgresXaContainer(POSTGRES_15).withMaxConnections(10).withMaxTransactions(50);
+ new PostgresXaContainer(POSTGRES_16).withMaxConnections(10).withMaxTransactions(50);
private static PostgresMetadata metadata;
diff --git a/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresImages.java b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresImages.java
index 9c33b8ef..5d5066f4 100644
--- a/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresImages.java
+++ b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/connector/jdbc/postgres/testutils/PostgresImages.java
@@ -19,6 +19,6 @@ package org.apache.flink.connector.jdbc.postgres.testutils;
/** Postgres docker images. */
public interface PostgresImages {
- String POSTGRES_9 = "postgres:9.6.24";
- String POSTGRES_15 = "postgres:15.1";
+ String POSTGRES_15 = "postgres:15.7";
+ String POSTGRES_16 = "postgres:16.3";
}
diff --git a/flink-connector-jdbc-sqlserver/pom.xml b/flink-connector-jdbc-sqlserver/pom.xml
index ea49e4c8..379eebaa 100644
--- a/flink-connector-jdbc-sqlserver/pom.xml
+++ b/flink-connector-jdbc-sqlserver/pom.xml
@@ -16,6 +16,8 @@
<properties>
<sqlserver.version>10.2.1.jre8</sqlserver.version>
+
+ <flink.forkCountITCase>1</flink.forkCountITCase>
</properties>
<dependencies>
diff --git a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/TrinoTestBase.java b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/TrinoTestBase.java
index 4b52cbe6..a81da70a 100644
--- a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/TrinoTestBase.java
+++ b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/TrinoTestBase.java
@@ -24,7 +24,7 @@ import org.apache.flink.connector.jdbc.trino.testutils.TrinoDatabase;
import org.junit.jupiter.api.extension.ExtendWith;
-/** Base class for Oracle testing. */
+/** Base class for Trino testing. */
@ExtendWith(TrinoDatabase.class)
public interface TrinoTestBase extends DatabaseTest {
diff --git a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/database/dialect/TrinoDialectTest.java b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/database/dialect/TrinoDialectTest.java
index 95bbca27..336c22c4 100644
--- a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/database/dialect/TrinoDialectTest.java
+++ b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/database/dialect/TrinoDialectTest.java
@@ -21,10 +21,13 @@ package org.apache.flink.connector.jdbc.trino.database.dialect;
import org.apache.flink.connector.jdbc.core.database.dialect.JdbcDialectTest;
import org.apache.flink.connector.jdbc.trino.TrinoTestBase;
+import org.junit.jupiter.api.Disabled;
+
import java.util.Arrays;
import java.util.List;
/** The Oracle params for {@link JdbcDialectTest}. */
+@Disabled("Not working on jenkins as container not start.")
class TrinoDialectTest extends JdbcDialectTest implements TrinoTestBase {
@Override
diff --git a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoDatabase.java b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoDatabase.java
index 9e5dbc75..ba65a189 100644
--- a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoDatabase.java
+++ b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoDatabase.java
@@ -42,7 +42,7 @@ public class TrinoDatabase extends DatabaseExtension implements TrinoImages, Pos
private static final Integer CONTAINER_DB_PORT = 5432;
private static final PostgreSQLContainer<?> CONTAINER_DB =
- new PostgresDatabase.PostgresXaContainer(POSTGRES_15)
+ new PostgresDatabase.PostgresXaContainer(POSTGRES_16)
.withMaxConnections(10)
.withMaxTransactions(50)
.withExposedPorts(CONTAINER_DB_PORT)
diff --git a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java
index f70b8aba..2cc965ba 100644
--- a/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java
+++ b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/connector/jdbc/trino/testutils/TrinoImages.java
@@ -19,5 +19,5 @@ package org.apache.flink.connector.jdbc.trino.testutils;
/** Postgres docker images. */
public interface TrinoImages {
- String TRINO_IMAGE = "trinodb/trino:418";
+ String TRINO_IMAGE = "trinodb/trino:451";
}
diff --git a/flink-connector-jdbc/pom.xml b/flink-connector-jdbc/pom.xml
index fe18432d..45cc62f4 100644
--- a/flink-connector-jdbc/pom.xml
+++ b/flink-connector-jdbc/pom.xml
@@ -137,6 +137,14 @@ under the License.
<scope>test</scope>
</dependency>
+ <!-- Derby tests -->
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.14.2.0</version>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
diff --git a/pom.xml b/pom.xml
index 32bd0ffa..fda0c842 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,7 @@ under the License.
<junit4.version>4.13.2</junit4.version>
<junit5.version>5.10.1</junit5.version>
<assertj.version>3.24.2</assertj.version>
- <testcontainers.version>1.19.3</testcontainers.version>
+ <testcontainers.version>1.19.8</testcontainers.version>
<mockito.version>3.12.4</mockito.version>
<japicmp.referenceVersion>3.0.0-1.16</japicmp.referenceVersion>
@@ -74,7 +74,6 @@ under the License.
<flink.parent.artifactId>flink-connector-jdbc-parent</flink.parent.artifactId>
- <flink.forkCountITCase>1</flink.forkCountITCase>
<!-- These 2 properties should be removed together with upgrade of flink-connector-parent to 1.1.x -->
<flink.surefire.baseArgLine>-XX:+UseG1GC -Xms256m -XX:+IgnoreUnrecognizedVMOptions ${surefire.module.config}</flink.surefire.baseArgLine>
<surefire.module.config>