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

github-merge-queue[bot] pushed a commit to branch 
gh-readonly-queue/dev/pr-12478-4fd80db52f401fdd47b826b1ec792d1a6cea1ac4
in repository https://gitbox.apache.org/repos/asf/seatunnel.git

commit cba65b1a6cfa894a85fdcfeeeacd59872f77e600
Author: Goutam Adwant <[email protected]>
AuthorDate: Sun Sep 27 13:22:02 2026 +0000

    [Fix][CI] Wait for MinIO readiness in S3FileWithFilterIT and fix the 
benchmark MinIO images (#12478)
---
 seatunnel-cli/benchmark/README.md                                | 2 +-
 seatunnel-cli/benchmark/docker/docker-compose.yml                | 9 +++++----
 .../seatunnel/e2e/connector/file/s3/S3FileWithFilterIT.java      | 5 ++++-
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/seatunnel-cli/benchmark/README.md 
b/seatunnel-cli/benchmark/README.md
index e4d877da6f..5da7e2fcfb 100644
--- a/seatunnel-cli/benchmark/README.md
+++ b/seatunnel-cli/benchmark/README.md
@@ -171,7 +171,7 @@ equivalence. Keep production prompt tuning separate from 
corpus changes.
 | Kafka (KRaft) | `apache/kafka:3.7.0` | `localhost:9092` | PLAINTEXT | topics 
clicks, order_events, dbz.shop.users (seeded), events, wms.inventory, 
shop.orders.changelog |
 | ClickHouse | `clickhouse/clickhouse-server:23.3.13.6` | `localhost:8123` | 
default / Test@123 | db `bench`: pre-created sink tables |
 | Elasticsearch | `elasticsearch:8.9.0` | `localhost:9200` | security disabled 
| — |
-| MinIO (S3) | `quay.io/minio/minio` | `localhost:9000` | minioadmin / 
minioadmin | bucket `bench` |
+| MinIO (S3) | `ghcr.io/teableio/minio` (digest-pinned) | `localhost:9000` | 
minioadmin / minioadmin | bucket `bench` |
 | Doris *(profile `olap`)* | `apache/doris:doris-all-in-one-2.1.0` | FE 8030 / 
query 9030 | root / empty | apply `init/doris/01_bench.sql` |
 | StarRocks *(profile `olap`)* | `starrocks/allin1-ubuntu:3.3.4` | FE 8031 / 
query 9031 | root / empty | apply `init/doris/01_bench.sql` |
 
diff --git a/seatunnel-cli/benchmark/docker/docker-compose.yml 
b/seatunnel-cli/benchmark/docker/docker-compose.yml
index 67938b3810..04daa9aa3a 100644
--- a/seatunnel-cli/benchmark/docker/docker-compose.yml
+++ b/seatunnel-cli/benchmark/docker/docker-compose.yml
@@ -145,9 +145,9 @@ services:
       retries: 30
 
   minio:
-    # Docker Hub's minio/minio repository no longer serves 
anonymous/unauthenticated pulls;
-    # quay.io is MinIO's own registry and mirrors the same tags publicly.
-    image: quay.io/minio/minio:RELEASE.2024-06-13T22-53-53Z
+    # minio/minio on Docker Hub and quay.io/minio/minio no longer serve 
anonymous pulls. Use
+    # the same digest-pinned mirror of MinIO RELEASE.2025-04-22T22-12-26Z as 
the S3 E2E tests.
+    image: 
ghcr.io/teableio/minio@sha256:a1ea29fa28355559ef137d71fc570e508a214ec84ff8083e39bc5428980b015e
     container_name: st-bench-minio
     environment:
       MINIO_ROOT_USER: minioadmin
@@ -163,7 +163,8 @@ services:
       retries: 30
 
   minio-init:
-    image: minio/mc:RELEASE.2024-06-12T14-34-03Z
+    # minio/mc on Docker Hub no longer serves anonymous pulls; the MinIO image 
above ships mc.
+    image: 
ghcr.io/teableio/minio@sha256:a1ea29fa28355559ef137d71fc570e508a214ec84ff8083e39bc5428980b015e
     container_name: st-bench-minio-init
     depends_on:
       minio:
diff --git 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/java/org/apache/seatunnel/e2e/connector/file/s3/S3FileWithFilterIT.java
 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/java/org/apache/seatunnel/e2e/connector/file/s3/S3FileWithFilterIT.java
index 75ae38621c..ce1bb6a1fa 100644
--- 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/java/org/apache/seatunnel/e2e/connector/file/s3/S3FileWithFilterIT.java
+++ 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/java/org/apache/seatunnel/e2e/connector/file/s3/S3FileWithFilterIT.java
@@ -77,7 +77,10 @@ public class S3FileWithFilterIT extends SeaTunnelContainer {
                         .withEnv("MINIO_ROOT_USER", "minioadmin")
                         .withEnv("MINIO_ROOT_PASSWORD", "minioadmin")
                         .withCommand("server", "/data")
-                        .waitingFor(Wait.forLogMessage(".*", 1));
+                        // MinIO logs its first line before it serves S3 
requests, and
+                        // S3Utils.initialize() below calls the bucket API 
right away. Wait for
+                        // MinIO's readiness endpoint, as 
S3FileConnectDryRunIT does.
+                        
.waitingFor(Wait.forHttp("/minio/health/ready").forPort(S3_PORT));
         s3Container.start();
         S3Utils.initialize(
                 String.format(

Reply via email to