diff --git a/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml b/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
index 35f7e14799cc7..0c9e44b3d245b 100644
--- a/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
+++ b/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
@@ -69,6 +69,13 @@ under the License.
org.testcontainers
testcontainers
+
+
+ junit
+ junit
+ compile
+
org.apache.flink
diff --git a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
index 24a759887c572..4248426c1c787 100644
--- a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
+++ b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
@@ -33,6 +33,7 @@
import org.apache.flink.util.UserClassLoaderJarTestUtils;
import org.apache.hadoop.hive.conf.HiveConf;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Rule;
@@ -68,7 +69,8 @@ public class HiveITCase extends TestLogger {
@ClassRule public static final TemporaryFolder TMP_FOLDER = new TemporaryFolder();
- @ClassRule
+ // Testcontainers 2.x containers are no longer JUnit 4 TestRules, so the lifecycle is driven
+ // manually from @BeforeClass/@AfterClass instead of via @ClassRule.
public static final HiveContainers.HiveContainer HIVE_CONTAINER =
HiveContainers.createHiveContainer(
Arrays.asList("hive_sink1", "hive_sink2", "h_table_sink1", "h_table_sink2"));
@@ -93,10 +95,16 @@ public class HiveITCase extends TestLogger {
@BeforeClass
public static void beforeClass() throws Exception {
+ HIVE_CONTAINER.start();
initUDFJar();
initHiveConfFile();
}
+ @AfterClass
+ public static void afterClass() {
+ HIVE_CONTAINER.stop();
+ }
+
private static void initUDFJar() throws Exception {
Path tmpPath = TMP_FOLDER.getRoot().toPath();
LOG.info("The current temporary path: {}", tmpPath);
diff --git a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
index 74d3692216c1a..d32238b750234 100644
--- a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
+++ b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
@@ -27,7 +27,6 @@
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.junit.runner.Description;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
@@ -86,9 +85,9 @@ protected void doStart() {
}
@Override
- protected void finished(Description description) {
+ protected void containerIsStopping(InspectContainerResponse containerInfo) {
backupLogs();
- super.finished(description);
+ super.containerIsStopping(containerInfo);
}
@Override
diff --git a/flink-end-to-end-tests/flink-sql-client-test/pom.xml b/flink-end-to-end-tests/flink-sql-client-test/pom.xml
index 3a69500525907..658400eed975c 100644
--- a/flink-end-to-end-tests/flink-sql-client-test/pom.xml
+++ b/flink-end-to-end-tests/flink-sql-client-test/pom.xml
@@ -73,7 +73,7 @@ under the License.
org.testcontainers
- kafka
+ testcontainers-kafka
test
diff --git a/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java b/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
index 7f49a6ea96716..3216ef6024a60 100644
--- a/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
+++ b/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
@@ -41,11 +41,11 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.containers.Network;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.kafka.ConfluentKafkaContainer;
import org.testcontainers.utility.DockerImageName;
import java.io.File;
@@ -78,10 +78,10 @@ public class SqlClientITCase {
public static final Network NETWORK = Network.newNetwork();
@Container
- public static final KafkaContainer KAFKA =
- new KafkaContainer(DockerImageName.parse(DockerImageVersions.KAFKA))
+ public static final ConfluentKafkaContainer KAFKA =
+ new ConfluentKafkaContainer(DockerImageName.parse(DockerImageVersions.KAFKA))
.withNetwork(NETWORK)
- .withNetworkAliases(INTER_CONTAINER_KAFKA_ALIAS)
+ .withListener(INTER_CONTAINER_KAFKA_ALIAS + ":19092")
.withLogConsumer(LOG_CONSUMER);
public final FlinkContainers flink =
@@ -219,7 +219,7 @@ void testMatchRecognize() throws Exception {
" 'topic' = 'test-json',",
" 'properties.bootstrap.servers' = '"
+ INTER_CONTAINER_KAFKA_ALIAS
- + ":9092',",
+ + ":19092',",
" 'scan.startup.mode' = 'earliest-offset',",
" 'format' = 'json',",
" 'json.timestamp-format.standard' = 'ISO-8601'",
diff --git a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
index 0d7387b5803fa..854bd5b59b8a4 100644
--- a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
+++ b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
@@ -93,7 +93,9 @@ public class SqlGatewayE2ECase extends TestLogger {
private static final String RESULT_KEY = "$RESULT";
@ClassRule public static final TemporaryFolder FOLDER = new TemporaryFolder();
- @ClassRule public static final HiveContainer HIVE_CONTAINER = new HiveContainer();
+
+ public static final HiveContainer HIVE_CONTAINER = new HiveContainer();
+
@Rule public final FlinkResource flinkResource = buildFlinkResource();
private static NetUtils.Port hiveserver2Port;
@@ -107,6 +109,7 @@ public class SqlGatewayE2ECase extends TestLogger {
@BeforeClass
public static void beforeClass() {
+ HIVE_CONTAINER.start();
ENDPOINT_CONFIG.setString(
getPrefixedConfigOptionName(CATALOG_HIVE_CONF_DIR), createHiveConf().getParent());
}
@@ -115,6 +118,7 @@ public static void beforeClass() {
public static void afterClass() throws Exception {
hiveserver2Port.close();
restPort.close();
+ HIVE_CONTAINER.stop();
}
@Test
diff --git a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
index 6fa9064fcfd73..caa384c63fc70 100644
--- a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
+++ b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
@@ -25,7 +25,6 @@
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.junit.runner.Description;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
@@ -96,9 +95,9 @@ protected void containerIsStarted(InspectContainerResponse containerInfo) {
}
@Override
- protected void finished(Description description) {
+ protected void containerIsStopping(InspectContainerResponse containerInfo) {
backupLogs();
- super.finished(description);
+ super.containerIsStopping(containerInfo);
}
public String getHiveMetastoreURI() {
diff --git a/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh b/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
index 324e3a34c5526..d653ef46bc578 100755
--- a/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
+++ b/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
@@ -20,8 +20,8 @@
set -Eeuo pipefail
KAFKA_VERSION="3.2.3"
-CONFLUENT_VERSION="7.2.9"
-CONFLUENT_MAJOR_VERSION="7.2"
+CONFLUENT_VERSION="7.5.3"
+CONFLUENT_MAJOR_VERSION="7.5"
# Check the Confluent Platform <> Apache Kafka compatibility matrix when updating KAFKA_VERSION
KAFKA_SQL_VERSION="universal"
diff --git a/flink-end-to-end-tests/test-scripts/test_pyflink.sh b/flink-end-to-end-tests/test-scripts/test_pyflink.sh
index 2b53e3393bb8d..34654d3d3a286 100755
--- a/flink-end-to-end-tests/test-scripts/test_pyflink.sh
+++ b/flink-end-to-end-tests/test-scripts/test_pyflink.sh
@@ -20,8 +20,8 @@
set -Eeuo pipefail
KAFKA_VERSION="3.2.3"
-CONFLUENT_VERSION="7.2.9"
-CONFLUENT_MAJOR_VERSION="7.2"
+CONFLUENT_VERSION="7.5.3"
+CONFLUENT_MAJOR_VERSION="7.5"
# Check the Confluent Platform <> Apache Kafka compatibility matrix when updating KAFKA_VERSION
KAFKA_SQL_VERSION="universal"
SQL_JARS_DIR=${END_TO_END_DIR}/flink-sql-client-test/target/sql-jars
diff --git a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
index c48ad4d8525fa..f781262669c08 100644
--- a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
+++ b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
@@ -28,9 +28,9 @@
*/
public class DockerImageVersions {
- public static final String KAFKA = "confluentinc/cp-kafka:7.2.9";
+ public static final String KAFKA = "confluentinc/cp-kafka:7.5.3";
- public static final String SCHEMA_REGISTRY = "confluentinc/cp-schema-registry:7.2.9";
+ public static final String SCHEMA_REGISTRY = "confluentinc/cp-schema-registry:7.5.3";
public static final String KINESALITE = "instructure/kinesalite:latest";
diff --git a/pom.xml b/pom.xml
index 60b5f6ed51caa..b2cfd2fe2fa9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -162,7 +162,7 @@ under the License.
2.43.0
3.21.7
3.14.9
- 1.21.4
+ 2.0.5
1.10.3
2.15.1
false
@@ -286,7 +286,7 @@ under the License.
org.testcontainers
- junit-jupiter
+ testcontainers-junit-jupiter
test