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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2c4e83e41bc Upgrade testcontainers to 2.x (#17705)
2c4e83e41bc is described below

commit 2c4e83e41bc11a88d7d5e927ef292c88ce9172d6
Author: Yash Mayya <[email protected]>
AuthorDate: Tue Feb 17 18:17:35 2026 -0800

    Upgrade testcontainers to 2.x (#17705)
---
 pinot-integration-tests/pom.xml                           |  2 +-
 .../tests/MultiStageEngineExplainIntegrationTest.java     |  2 +-
 .../tests/QueryThreadContextIntegrationTest.java          |  2 +-
 .../pinot/integration/tests/SpoolIntegrationTest.java     |  2 +-
 .../tests/kafka/schemaregistry/SchemaRegistryStarter.java |  3 ++-
 .../org/apache/pinot/integration/tests/udf/UdfTest.java   |  2 +-
 pinot-plugins/pinot-file-system/pinot-s3/pom.xml          |  5 ++---
 .../org/apache/pinot/plugin/filesystem/S3PinotFSTest.java | 15 ++++++++++-----
 .../pinot-input-format/pinot-confluent-json/pom.xml       |  2 +-
 .../kafka/schemaregistry/SchemaRegistryStarter.java       |  3 ++-
 .../pinot-input-format/pinot-confluent-protobuf/pom.xml   |  2 +-
 .../kafka/schemaregistry/SchemaRegistryStarter.java       |  3 ++-
 pinot-plugins/pinot-input-format/pinot-protobuf/pom.xml   |  2 +-
 .../pinot-stream-ingestion/pinot-kafka-4.0/pom.xml        |  2 +-
 pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml |  2 +-
 .../pinot/plugin/stream/pulsar/PulsarConsumerTest.java    |  2 +-
 pom.xml                                                   |  3 +--
 17 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/pinot-integration-tests/pom.xml b/pinot-integration-tests/pom.xml
index 7af0bfa0c06..d934ff7058a 100644
--- a/pinot-integration-tests/pom.xml
+++ b/pinot-integration-tests/pom.xml
@@ -250,7 +250,7 @@
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
-      <artifactId>kafka</artifactId>
+      <artifactId>testcontainers-kafka</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java
 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java
index 4684659292f..69d9861a5b4 100644
--- 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java
+++ 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java
@@ -21,12 +21,12 @@ package org.apache.pinot.integration.tests;
 import java.io.File;
 import java.util.List;
 import java.util.Map;
+import org.apache.commons.io.FileUtils;
 import org.apache.pinot.spi.config.table.TableConfig;
 import org.apache.pinot.spi.data.Schema;
 import org.apache.pinot.spi.env.PinotConfiguration;
 import org.apache.pinot.spi.utils.CommonConstants;
 import org.apache.pinot.util.TestUtils;
-import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
diff --git 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/QueryThreadContextIntegrationTest.java
 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/QueryThreadContextIntegrationTest.java
index 6569180795e..a92cc37acd9 100644
--- 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/QueryThreadContextIntegrationTest.java
+++ 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/QueryThreadContextIntegrationTest.java
@@ -23,13 +23,13 @@ import com.jayway.jsonpath.DocumentContext;
 import com.jayway.jsonpath.JsonPath;
 import java.io.File;
 import java.util.List;
+import org.apache.commons.io.FileUtils;
 import org.apache.pinot.core.query.utils.QueryIdUtils;
 import org.apache.pinot.spi.config.table.TableConfig;
 import org.apache.pinot.spi.data.Schema;
 import org.apache.pinot.spi.env.PinotConfiguration;
 import org.apache.pinot.spi.utils.CommonConstants;
 import org.apache.pinot.util.TestUtils;
-import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
diff --git 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/SpoolIntegrationTest.java
 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/SpoolIntegrationTest.java
index cbdeef2a7e3..9426cec9776 100644
--- 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/SpoolIntegrationTest.java
+++ 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/SpoolIntegrationTest.java
@@ -26,6 +26,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.pinot.spi.config.table.TableConfig;
 import org.apache.pinot.spi.data.Schema;
@@ -33,7 +34,6 @@ import org.apache.pinot.spi.env.PinotConfiguration;
 import org.apache.pinot.spi.utils.CommonConstants;
 import org.apache.pinot.util.TestUtils;
 import org.intellij.lang.annotations.Language;
-import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
diff --git 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/kafka/schemaregistry/SchemaRegistryStarter.java
 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/kafka/schemaregistry/SchemaRegistryStarter.java
index 9d5c0ab53b8..72276361d63 100644
--- 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/kafka/schemaregistry/SchemaRegistryStarter.java
+++ 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/kafka/schemaregistry/SchemaRegistryStarter.java
@@ -69,7 +69,8 @@ public class SchemaRegistryStarter {
 
       _network = Network.newNetwork();
 
-      _kafkaContainer = new 
KafkaContainer(KAFKA_DOCKER_IMAGE_NAME).withNetwork(_network).withNetworkAliases("kafka")
+      _kafkaContainer = new KafkaContainer(KAFKA_DOCKER_IMAGE_NAME)
+          .withNetwork(_network).withNetworkAliases("kafka")
           .withCreateContainerCmdModifier(it -> 
it.withHostName("kafka")).waitingFor(Wait.forListeningPort());
       _kafkaContainer.start();
 
diff --git 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/udf/UdfTest.java
 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/udf/UdfTest.java
index 2c44a44986f..6d3810fa6c8 100644
--- 
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/udf/UdfTest.java
+++ 
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/udf/UdfTest.java
@@ -24,6 +24,7 @@ import com.fasterxml.jackson.databind.MapperFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
+import com.google.common.util.concurrent.MoreExecutors;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -54,7 +55,6 @@ import org.apache.pinot.udf.test.UdfTestResult;
 import org.assertj.core.api.Assertions;
 import org.assertj.core.util.diff.DiffUtils;
 import org.assertj.core.util.diff.Patch;
-import 
org.testcontainers.shaded.com.google.common.util.concurrent.MoreExecutors;
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
diff --git a/pinot-plugins/pinot-file-system/pinot-s3/pom.xml 
b/pinot-plugins/pinot-file-system/pinot-s3/pom.xml
index dd539adf7a7..d57a5301308 100644
--- a/pinot-plugins/pinot-file-system/pinot-s3/pom.xml
+++ b/pinot-plugins/pinot-file-system/pinot-s3/pom.xml
@@ -49,9 +49,8 @@
     </dependency>
 
     <dependency>
-      <groupId>com.adobe.testing</groupId>
-      <artifactId>s3mock-testcontainers</artifactId>
-      <version>${s3mock.version}</version>
+      <groupId>org.testcontainers</groupId>
+      <artifactId>testcontainers</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git 
a/pinot-plugins/pinot-file-system/pinot-s3/src/test/java/org/apache/pinot/plugin/filesystem/S3PinotFSTest.java
 
b/pinot-plugins/pinot-file-system/pinot-s3/src/test/java/org/apache/pinot/plugin/filesystem/S3PinotFSTest.java
index 53bbb96dd44..d47a977fed0 100644
--- 
a/pinot-plugins/pinot-file-system/pinot-s3/src/test/java/org/apache/pinot/plugin/filesystem/S3PinotFSTest.java
+++ 
b/pinot-plugins/pinot-file-system/pinot-s3/src/test/java/org/apache/pinot/plugin/filesystem/S3PinotFSTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.pinot.plugin.filesystem;
 
-import com.adobe.testing.s3mock.testcontainers.S3MockContainer;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -33,6 +32,8 @@ import java.util.stream.Collectors;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.pinot.spi.filesystem.FileMetadata;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
@@ -56,7 +57,8 @@ import software.amazon.awssdk.services.s3.model.StorageClass;
 
 @Test
 public class S3PinotFSTest {
-  private static final String S3MOCK_VERSION = 
System.getProperty("s3mock.version", "2.12.2");
+  private static final String S3MOCK_VERSION = 
System.getProperty("s3mock.version", "3.12.0");
+  private static final int S3MOCK_HTTP_PORT = 9090;
   private static final File TEMP_FILE = new File(FileUtils.getTempDirectory(), 
"S3PinotFSTest");
 
   private static final String S3_SCHEME = "s3";
@@ -66,7 +68,7 @@ public class S3PinotFSTest {
   private static final String FILE_FORMAT = "%s://%s/%s";
   private static final String DIR_FORMAT = "%s://%s";
 
-  private S3MockContainer _s3MockContainer;
+  private GenericContainer<?> _s3MockContainer;
   private S3PinotFS _s3PinotFS;
   private S3Client _s3Client;
 
@@ -77,9 +79,12 @@ public class S3PinotFSTest {
 
   @BeforeClass
   public void setUp() {
-    _s3MockContainer = new S3MockContainer(S3MOCK_VERSION);
+    _s3MockContainer = new GenericContainer<>("adobe/s3mock:" + S3MOCK_VERSION)
+        .withExposedPorts(S3MOCK_HTTP_PORT)
+        
.waitingFor(Wait.forHttp("/favicon.ico").forPort(S3MOCK_HTTP_PORT).forStatusCode(200));
     _s3MockContainer.start();
-    String endpoint = _s3MockContainer.getHttpEndpoint();
+    String endpoint = "http://"; + _s3MockContainer.getHost() + ":"
+        + _s3MockContainer.getMappedPort(S3MOCK_HTTP_PORT);
     _s3Client = createS3ClientV2(endpoint);
     _s3PinotFS = new S3PinotFS();
     _s3PinotFS.init(_s3Client);
diff --git a/pinot-plugins/pinot-input-format/pinot-confluent-json/pom.xml 
b/pinot-plugins/pinot-input-format/pinot-confluent-json/pom.xml
index 3c397db848d..7de2d1a8cf5 100644
--- a/pinot-plugins/pinot-input-format/pinot-confluent-json/pom.xml
+++ b/pinot-plugins/pinot-input-format/pinot-confluent-json/pom.xml
@@ -74,7 +74,7 @@
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
-      <artifactId>kafka</artifactId>
+      <artifactId>testcontainers-kafka</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git 
a/pinot-plugins/pinot-input-format/pinot-confluent-json/src/test/java/org/apache/pinot/plugin/inputformat/json/confluent/kafka/schemaregistry/SchemaRegistryStarter.java
 
b/pinot-plugins/pinot-input-format/pinot-confluent-json/src/test/java/org/apache/pinot/plugin/inputformat/json/confluent/kafka/schemaregistry/SchemaRegistryStarter.java
index f38d94f790e..5835bdd331a 100644
--- 
a/pinot-plugins/pinot-input-format/pinot-confluent-json/src/test/java/org/apache/pinot/plugin/inputformat/json/confluent/kafka/schemaregistry/SchemaRegistryStarter.java
+++ 
b/pinot-plugins/pinot-input-format/pinot-confluent-json/src/test/java/org/apache/pinot/plugin/inputformat/json/confluent/kafka/schemaregistry/SchemaRegistryStarter.java
@@ -69,7 +69,8 @@ public class SchemaRegistryStarter {
 
       _network = Network.newNetwork();
 
-      _kafkaContainer = new 
KafkaContainer(KAFKA_DOCKER_IMAGE_NAME).withNetwork(_network).withNetworkAliases("kafka")
+      _kafkaContainer = new KafkaContainer(KAFKA_DOCKER_IMAGE_NAME)
+          .withNetwork(_network).withNetworkAliases("kafka")
           .withCreateContainerCmdModifier(it -> 
it.withHostName("kafka")).waitingFor(Wait.forListeningPort());
       _kafkaContainer.start();
 
diff --git a/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/pom.xml 
b/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/pom.xml
index 6a61185c1b9..6fbf6dae85e 100644
--- a/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/pom.xml
+++ b/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/pom.xml
@@ -61,7 +61,7 @@
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
-      <artifactId>kafka</artifactId>
+      <artifactId>testcontainers-kafka</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git 
a/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/src/test/java/org/apache/pinot/plugin/inputformat/protobuf/kafka/schemaregistry/SchemaRegistryStarter.java
 
b/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/src/test/java/org/apache/pinot/plugin/inputformat/protobuf/kafka/schemaregistry/SchemaRegistryStarter.java
index c6d7a59770a..77b113b91c2 100644
--- 
a/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/src/test/java/org/apache/pinot/plugin/inputformat/protobuf/kafka/schemaregistry/SchemaRegistryStarter.java
+++ 
b/pinot-plugins/pinot-input-format/pinot-confluent-protobuf/src/test/java/org/apache/pinot/plugin/inputformat/protobuf/kafka/schemaregistry/SchemaRegistryStarter.java
@@ -69,7 +69,8 @@ public class SchemaRegistryStarter {
 
       _network = Network.newNetwork();
 
-      _kafkaContainer = new 
KafkaContainer(KAFKA_DOCKER_IMAGE_NAME).withNetwork(_network).withNetworkAliases("kafka")
+      _kafkaContainer = new KafkaContainer(KAFKA_DOCKER_IMAGE_NAME)
+          .withNetwork(_network).withNetworkAliases("kafka")
           .withCreateContainerCmdModifier(it -> 
it.withHostName("kafka")).waitingFor(Wait.forListeningPort());
       _kafkaContainer.start();
 
diff --git a/pinot-plugins/pinot-input-format/pinot-protobuf/pom.xml 
b/pinot-plugins/pinot-input-format/pinot-protobuf/pom.xml
index a90d106ff8a..cd08d24f2ff 100644
--- a/pinot-plugins/pinot-input-format/pinot-protobuf/pom.xml
+++ b/pinot-plugins/pinot-input-format/pinot-protobuf/pom.xml
@@ -61,7 +61,7 @@
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
-      <artifactId>kafka</artifactId>
+      <artifactId>testcontainers-kafka</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/pinot-plugins/pinot-stream-ingestion/pinot-kafka-4.0/pom.xml 
b/pinot-plugins/pinot-stream-ingestion/pinot-kafka-4.0/pom.xml
index 68df0ed23ba..00c585b3971 100644
--- a/pinot-plugins/pinot-stream-ingestion/pinot-kafka-4.0/pom.xml
+++ b/pinot-plugins/pinot-stream-ingestion/pinot-kafka-4.0/pom.xml
@@ -63,7 +63,7 @@
     <!-- Testcontainers for embedded Kafka testing with KRaft mode -->
     <dependency>
       <groupId>org.testcontainers</groupId>
-      <artifactId>kafka</artifactId>
+      <artifactId>testcontainers-kafka</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml 
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml
index a71691cbb48..7975f4c29fd 100644
--- a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml
+++ b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml
@@ -49,7 +49,7 @@
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
-      <artifactId>pulsar</artifactId>
+      <artifactId>testcontainers-pulsar</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git 
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConsumerTest.java
 
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConsumerTest.java
index 545314f7072..f65cf67d3a0 100644
--- 
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConsumerTest.java
+++ 
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConsumerTest.java
@@ -43,7 +43,7 @@ import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.Schema;
 import org.apache.pulsar.client.api.TopicMetadata;
 import org.apache.pulsar.client.impl.BatchMessageIdImpl;
-import org.testcontainers.containers.PulsarContainer;
+import org.testcontainers.pulsar.PulsarContainer;
 import org.testcontainers.utility.DockerImageName;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
diff --git a/pom.xml b/pom.xml
index 1e17aa98748..453aeb8eb76 100644
--- a/pom.xml
+++ b/pom.xml
@@ -188,7 +188,6 @@
     <plexus-classworlds.version>2.9.0</plexus-classworlds.version>
     <scala-xml.version>2.4.0</scala-xml.version>
     <fmpp.version>0.9.16</fmpp.version>
-    <s3mock.version>2.17.0</s3mock.version>
     <localstack-utils.version>0.2.23</localstack-utils.version>
     <protobuf-dynamic.version>1.0.1</protobuf-dynamic.version>
     <enforcer-api.version>3.6.2</enforcer-api.version>
@@ -308,7 +307,7 @@
     <testng.version>7.12.0</testng.version>
     <mockito-core.version>5.17.0</mockito-core.version>
     <equalsverifier.version>3.19.4</equalsverifier.version>
-    <testcontainers.version>1.21.4</testcontainers.version>
+    <testcontainers.version>2.0.3</testcontainers.version>
     <h2.version>2.4.240</h2.version>
     <jnr-posix.version>3.1.21</jnr-posix.version>
     <scalatest.version>3.2.19</scalatest.version>


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

Reply via email to