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

MartijnVisser pushed a commit to branch release-1.20
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 191270a65f3f02ce135d276463f30cb4f17e48b4
Author: Efrat Levitan <[email protected]>
AuthorDate: Thu Jun 25 09:31:53 2026 +0300

    [FLINK-39499][tests] Replace MinIO with SeaweedFS
    
    Backport for FLINK-40802, adapted to this branch. The new
    run-nightly-tests.sh entries are left out.
    
    Generated-by: Claude Code (Claude Opus 5.5)
    (cherry picked from commit adc9c1d1f61e00d9ff7f98c64c379786afef6e43)
---
 flink-end-to-end-tests/test-scripts/common_s3.sh   |  2 +-
 .../{common_s3_minio.sh => common_s3_seaweedfs.sh} | 59 +++++++++++++---------
 .../test-scripts/test_batch_wordcount.sh           | 17 ++++---
 .../test-scripts/test_file_sink.sh                 |  7 +--
 flink-filesystems/flink-s3-fs-base/pom.xml         |  2 +-
 ....java => HAJobRunOnSeaweedFsS3StoreITCase.java} | 29 ++++++-----
 ...tContainer.java => SeaweedFsTestContainer.java} | 33 ++++++------
 ...erTest.java => SeaweedFsTestContainerTest.java} | 16 +++---
 .../HAJobRunOnHadoopS3FileSystemITCase.java        |  6 +--
 .../HAJobRunOnPrestoS3FileSystemITCase.java        |  6 +--
 .../org/apache/flink/util/DockerImageVersions.java |  2 +-
 11 files changed, 94 insertions(+), 85 deletions(-)

diff --git a/flink-end-to-end-tests/test-scripts/common_s3.sh 
b/flink-end-to-end-tests/test-scripts/common_s3.sh
index 903fb6a3ff8..6de1604a61c 100644
--- a/flink-end-to-end-tests/test-scripts/common_s3.sh
+++ b/flink-end-to-end-tests/test-scripts/common_s3.sh
@@ -18,7 +18,7 @@
 
################################################################################
 
 if [[ $S3_SOURCED ]]; then
-  echo "Only source common_s3.sh or common_s3_minio.sh in the same test, 
previously sourced $S3_SOURCED" && exit 1
+  echo "Only source common_s3.sh or common_s3_seaweedfs.sh in the same test, 
previously sourced $S3_SOURCED" && exit 1
 fi
 export S3_SOURCED="common_s3.sh"
 
diff --git a/flink-end-to-end-tests/test-scripts/common_s3_minio.sh 
b/flink-end-to-end-tests/test-scripts/common_s3_seaweedfs.sh
similarity index 63%
rename from flink-end-to-end-tests/test-scripts/common_s3_minio.sh
rename to flink-end-to-end-tests/test-scripts/common_s3_seaweedfs.sh
index 319a46478d0..a8060aa8d14 100644
--- a/flink-end-to-end-tests/test-scripts/common_s3_minio.sh
+++ b/flink-end-to-end-tests/test-scripts/common_s3_seaweedfs.sh
@@ -18,9 +18,9 @@
 
################################################################################
 
 if [[ $S3_SOURCED ]]; then
-  echo "Only source common_s3.sh or common_s3_minio.sh in the same test, 
previously sourced $S3_SOURCED" && exit 1
+  echo "Only source common_s3.sh or common_s3_seaweedfs.sh in the same test, 
previously sourced $S3_SOURCED" && exit 1
 fi
-export S3_SOURCED="common_s3_minio.sh"
+export S3_SOURCED="common_s3_seaweedfs.sh"
 
 # export credentials into environment variables for AWS client
 export AWS_REGION=us-east-1
@@ -32,48 +32,54 @@ IT_CASE_S3_BUCKET=test-data
 S3_TEST_DATA_WORDS_URI="s3://$IT_CASE_S3_BUCKET/words"
 
 ###################################
-# Starts a docker container for s3 minio.
+# Starts a docker container for s3 seaweedfs.
 #
 # Globals:
 #   TEST_INFRA_DIR
 #   AWS_ACCESS_KEY_ID
 #   AWS_SECRET_ACCESS_KEY
 # Exports:
-#   MINIO_CONTAINER_ID
+#   SEAWEEDFS_CONTAINER_ID
 #   S3_ENDPOINT
 ###################################
 function s3_start {
-  echo "Spawning minio for s3 tests"
-  export MINIO_CONTAINER_ID=$(docker run -d \
+  echo "Spawning seaweedfs for s3 tests"
+  export SEAWEEDFS_CONTAINER_ID=$(docker run -d \
     -P \
-    --mount type=bind,source="$TEST_INFRA_DIR",target=/data \
-    -e "MINIO_ACCESS_KEY=$AWS_ACCESS_KEY_ID" -e 
"MINIO_SECRET_KEY=$AWS_SECRET_ACCESS_KEY" -e "MINIO_DOMAIN=localhost" \
-    quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z \
+    -e "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" -e 
"AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" \
+    chrislusf/seaweedfs:4.34 \
     server \
-    /data)
-  while [[ "$(docker inspect -f {{.State.Running}} "$MINIO_CONTAINER_ID")" -ne 
"true" ]]; do
+    -s3 \
+    -s3.port=8333 \
+    -dir=/data)
+  while [[ "$(docker inspect -f {{.State.Running}} "$SEAWEEDFS_CONTAINER_ID")" 
-ne "true" ]]; do
     sleep 0.1
   done
-  export S3_ENDPOINT="http://$(docker port "$MINIO_CONTAINER_ID" 9000 | grep 
-F '0.0.0.0' | sed s'/0\.0\.0\.0/localhost/')"
-  echo "Started minio @ $S3_ENDPOINT"
+  export S3_ENDPOINT="http://$(docker port "$SEAWEEDFS_CONTAINER_ID" 8333 | 
grep -F '0.0.0.0' | sed s'/0\.0\.0\.0/localhost/')"
+  echo "Started seaweedfs @ $S3_ENDPOINT"
   on_exit s3_stop
+
+  while [[ "$(curl -s -o /dev/null -w '%{http_code}' "$S3_ENDPOINT/healthz")" 
!= "200" ]]; do
+    sleep 0.1
+  done
+  echo "Seaweedfs S3 gateway is up @ $S3_ENDPOINT"
 }
 
 ###################################
-# Stops the docker container of minio.
+# Stops the docker container of seaweedfs.
 #
 # Globals:
-#   MINIO_CONTAINER_ID
+#   SEAWEEDFS_CONTAINER_ID
 ###################################
 function s3_stop {
-  docker kill "$MINIO_CONTAINER_ID"
-  docker rm "$MINIO_CONTAINER_ID"
+  docker kill "$SEAWEEDFS_CONTAINER_ID"
+  docker rm "$SEAWEEDFS_CONTAINER_ID"
   export S3_ENDPOINT=
-  export MINIO_CONTAINER_ID=
+  export SEAWEEDFS_CONTAINER_ID=
 }
 
-# always start it while sourcing, so that MINIO_CONTAINER_ID is available from 
parent script
-if [[ $MINIO_CONTAINER_ID ]]; then
+# always start it while sourcing, so that SEAWEEDFS_CONTAINER_ID is available 
from parent script
+if [[ $SEAWEEDFS_CONTAINER_ID ]]; then
   s3_stop
 fi
 s3_start
@@ -95,9 +101,9 @@ function s3_setup {
 
   set_config_key "s3.access-key" "$AWS_ACCESS_KEY_ID"
   set_config_key "s3.secret-key" "$AWS_SECRET_ACCESS_KEY"
-  # change endpoint to minio's location
+  # change endpoint to seaweedfs's location
   set_config_key "s3.endpoint" "$S3_ENDPOINT"
-  # If the test is using virtual host style (default), then it tries to reach 
minio on <bucket>.localhost:<port>,
+  # If the test is using virtual host style (default), then it tries to reach 
seaweedfs on <bucket>.localhost:<port>,
   # which docker does not properly forward.
   set_config_key "s3.path.style.access" "true"
   set_config_key "s3.path-style-access" "true"
@@ -107,12 +113,17 @@ function s3_setup_with_provider {
   add_optional_plugin "s3-fs-$1"
   # reads (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
   set_config_key "$2" 
"com.amazonaws.auth.EnvironmentVariableCredentialsProvider"
-  # change endpoint to minio's location
+  # change endpoint to seaweedfs's location
   set_config_key "s3.endpoint" "$S3_ENDPOINT"
-  # If the test is using virtual host style (default), then it tries to reach 
minio on <bucket>.localhost:<port>,
+  # If the test is using virtual host style (default), then it tries to reach 
seaweedfs on <bucket>.localhost:<port>,
   # which docker does not properly forward.
   set_config_key "s3.path.style.access" "true"
   set_config_key "s3.path-style-access" "true"
 }
 
 source "$(dirname "$0")"/common_s3_operations.sh
+
+# SeaweedFS does not expose on-disk directories as S3 buckets,
+# so the bucket must be created explicitly
+aws_cli s3 mb "s3://$IT_CASE_S3_BUCKET"
+aws_cli s3 cp "/hostdir/test-data/words" "$S3_TEST_DATA_WORDS_URI"
diff --git a/flink-end-to-end-tests/test-scripts/test_batch_wordcount.sh 
b/flink-end-to-end-tests/test-scripts/test_batch_wordcount.sh
index 59870f7ee67..cd039cb2959 100755
--- a/flink-end-to-end-tests/test-scripts/test_batch_wordcount.sh
+++ b/flink-end-to-end-tests/test-scripts/test_batch_wordcount.sh
@@ -38,11 +38,13 @@ case $INPUT_TYPE in
         on_exit "s3_delete_by_full_path_prefix '$S3_PREFIX'"
         fetch_complete_result=(s3_get_by_full_path_and_filename_prefix 
"$OUTPUT_PATH" "${S3_PREFIX}" "" false)
     ;;
-    (hadoop_minio)
-        source "$(dirname "$0")"/common_s3_minio.sh
+    (hadoop_seaweedfs)
+        source "$(dirname "$0")"/common_s3_seaweedfs.sh
         s3_setup hadoop
         ARGS="--input ${S3_TEST_DATA_WORDS_URI} --output 
s3://$IT_CASE_S3_BUCKET/$S3_PREFIX"
-        OUTPUT_PATH="$TEST_INFRA_DIR/$IT_CASE_S3_BUCKET/$S3_PREFIX"
+        OUTPUT_PATH="$TEST_DATA_DIR/$S3_PREFIX"
+        on_exit "s3_delete_by_full_path_prefix '$S3_PREFIX'"
+        fetch_complete_result=(s3_get_by_full_path_and_filename_prefix 
"$OUTPUT_PATH" "${S3_PREFIX}" "" false)
     ;;
     (hadoop_with_provider)
         source "$(dirname "$0")"/common_s3.sh
@@ -60,11 +62,10 @@ case $INPUT_TYPE in
         on_exit "s3_delete_by_full_path_prefix '$S3_PREFIX'"
         fetch_complete_result=(s3_get_by_full_path_and_filename_prefix 
"$OUTPUT_PATH" "${S3_PREFIX}" "" false)
     ;;
-    (presto_minio)
-        source "$(dirname "$0")"/common_s3_minio.sh
+    (presto_seaweedfs_read)
+        source "$(dirname "$0")"/common_s3_seaweedfs.sh
         s3_setup presto
-        ARGS="--input ${S3_TEST_DATA_WORDS_URI} --output 
s3://$IT_CASE_S3_BUCKET/$S3_PREFIX"
-        OUTPUT_PATH="$TEST_INFRA_DIR/$IT_CASE_S3_BUCKET/$S3_PREFIX"
+        ARGS="--input ${S3_TEST_DATA_WORDS_URI} --output ${OUTPUT_PATH}"
     ;;
     (dummy-fs)
         source "$(dirname "$0")"/common_dummy_fs.sh
@@ -84,7 +85,7 @@ start_cluster
 # The test may run against different source types.
 # But the sources should provide the same test data, so the checksum stays the 
same for all tests.
 ${FLINK_DIR}/bin/flink run -p 1 ${FLINK_DIR}/examples/batch/WordCount.jar 
${ARGS}
-# Fetches result from AWS s3 to the OUTPUT_PATH, no-op for other filesystems 
and minio-based tests
+# Fetches result from AWS s3 to the OUTPUT_PATH, no-op for other filesystems 
and the presto_seaweedfs_read test
 
 # it seems we need a function for retry_times
 function fetch_it() {
diff --git a/flink-end-to-end-tests/test-scripts/test_file_sink.sh 
b/flink-end-to-end-tests/test-scripts/test_file_sink.sh
index 0acc9425bcb..8aeda7ac5d5 100755
--- a/flink-end-to-end-tests/test-scripts/test_file_sink.sh
+++ b/flink-end-to-end-tests/test-scripts/test_file_sink.sh
@@ -62,7 +62,7 @@ function get_total_number_of_valid_lines {
 if [ "${OUT_TYPE}" == "local" ]; then
   echo "[INFO] Test run in local environment: No S3 environment is loaded."
 elif [ "${OUT_TYPE}" == "s3" ]; then
-  source "$(dirname "$0")"/common_s3_minio.sh
+  source "$(dirname "$0")"/common_s3_seaweedfs.sh
   s3_setup hadoop
 
   # overwrites JOB_OUTPUT_PATH to point to S3
@@ -80,11 +80,6 @@ elif [ "${OUT_TYPE}" == "s3" ]; then
     find "${LOCAL_JOB_OUTPUT_PATH}" -type f \( -iname "part-*" \) -exec cat {} 
+ | sort -g
   }
 
-  # overwrites implementation for local runs
-  function get_total_number_of_valid_lines {
-    s3_get_number_of_lines_by_prefix "${S3_DATA_PREFIX}" "part-"
-  }
-
   # make sure we delete the file at the end
   function out_cleanup {
     s3_delete_by_full_path_prefix "${S3_DATA_PREFIX}"
diff --git a/flink-filesystems/flink-s3-fs-base/pom.xml 
b/flink-filesystems/flink-s3-fs-base/pom.xml
index a078be6d73e..5a437d5aeb9 100644
--- a/flink-filesystems/flink-s3-fs-base/pom.xml
+++ b/flink-filesystems/flink-s3-fs-base/pom.xml
@@ -241,7 +241,7 @@ under the License.
                        </exclusions>
                </dependency>
 
-               <!-- flink-runtime and curator dependencies are needed for the 
HAJobRunOnMinioS3StoreITCase -->
+               <!-- flink-runtime and curator dependencies are needed for the 
HAJobRunOnSeaweedFsS3StoreITCase -->
                <dependency>
                        <groupId>org.apache.flink</groupId>
                        <artifactId>flink-runtime</artifactId>
diff --git 
a/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/HAJobRunOnMinioS3StoreITCase.java
 
b/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/HAJobRunOnSeaweedFsS3StoreITCase.java
similarity index 84%
rename from 
flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/HAJobRunOnMinioS3StoreITCase.java
rename to 
flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/HAJobRunOnSeaweedFsS3StoreITCase.java
index d6fa0f7c2ea..2bf13e85907 100644
--- 
a/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/HAJobRunOnMinioS3StoreITCase.java
+++ 
b/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/HAJobRunOnSeaweedFsS3StoreITCase.java
@@ -44,20 +44,21 @@ import static 
org.apache.flink.shaded.guava31.com.google.common.base.Predicates.
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * {@code HAJobRunOnMinioS3StoreITCase} covers a job run where the HA data is 
stored in Minio. The
- * implementation verifies whether the {@code JobResult} was written into the 
FileSystem-backed
- * {@code JobResultStore}.
+ * {@code HAJobRunOnSeaweedFsS3StoreITCase} covers a job run where the HA data 
is stored in
+ * SeaweedFs. The implementation verifies whether the {@code JobResult} was 
written into the
+ * FileSystem-backed {@code JobResultStore}.
  */
-public abstract class HAJobRunOnMinioS3StoreITCase extends 
AbstractHAJobRunITCase {
+public abstract class HAJobRunOnSeaweedFsS3StoreITCase extends 
AbstractHAJobRunITCase {
 
     private static final String CLUSTER_ID = "test-cluster";
     private static final String JOB_RESULT_STORE_FOLDER = "jrs";
 
     @RegisterExtension
     @Order(2)
-    private static final 
AllCallbackWrapper<TestContainerExtension<MinioTestContainer>>
-            MINIO_EXTENSION =
-                    new AllCallbackWrapper<>(new 
TestContainerExtension<>(MinioTestContainer::new));
+    private static final 
AllCallbackWrapper<TestContainerExtension<SeaweedFsTestContainer>>
+            SEAWEEDFS_EXTENSION =
+                    new AllCallbackWrapper<>(
+                            new 
TestContainerExtension<>(SeaweedFsTestContainer::new));
 
     @RegisterExtension
     @Order(3)
@@ -71,19 +72,19 @@ public abstract class HAJobRunOnMinioS3StoreITCase extends 
AbstractHAJobRunITCas
                                 .build();
                     });
 
-    private static MinioTestContainer getMinioContainer() {
-        return MINIO_EXTENSION.getCustomExtension().getTestContainer();
+    private static SeaweedFsTestContainer getSeaweedFsContainer() {
+        return SEAWEEDFS_EXTENSION.getCustomExtension().getTestContainer();
     }
 
     private static String createS3URIWithSubPath(String... subfolders) {
-        return getMinioContainer().getS3UriForDefaultBucket() + 
createSubPath(subfolders);
+        return getSeaweedFsContainer().getS3UriForDefaultBucket() + 
createSubPath(subfolders);
     }
 
     private static List<S3ObjectSummary> getObjectsFromJobResultStore() {
-        return getMinioContainer()
+        return getSeaweedFsContainer()
                 .getClient()
                 .listObjects(
-                        getMinioContainer().getDefaultBucketName(),
+                        getSeaweedFsContainer().getDefaultBucketName(),
                         createSubPath(CLUSTER_ID, JOB_RESULT_STORE_FOLDER))
                 .getObjectSummaries();
     }
@@ -96,7 +97,7 @@ public abstract class HAJobRunOnMinioS3StoreITCase extends 
AbstractHAJobRunITCas
     private static Configuration createConfiguration() {
         final Configuration config = new Configuration();
 
-        getMinioContainer().setS3ConfigOptions(config);
+        getSeaweedFsContainer().setS3ConfigOptions(config);
 
         // JobResultStore configuration
         config.set(JobResultStoreOptions.DELETE_ON_COMMIT, Boolean.FALSE);
@@ -136,7 +137,7 @@ public abstract class HAJobRunOnMinioS3StoreITCase extends 
AbstractHAJobRunITCas
                 
.matches(not(FileSystemJobResultStore::hasValidDirtyJobResultStoreEntryExtension));
 
         final String objContent =
-                getMinioContainer()
+                getSeaweedFsContainer()
                         .getClient()
                         .getObjectAsString(objRef.getBucketName(), 
objRef.getKey());
         assertThat(objContent).contains(ApplicationStatus.SUCCEEDED.name());
diff --git 
a/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/MinioTestContainer.java
 
b/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/SeaweedFsTestContainer.java
similarity index 82%
rename from 
flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/MinioTestContainer.java
rename to 
flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/SeaweedFsTestContainer.java
index 354be949aed..d6f8b5c25d0 100644
--- 
a/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/MinioTestContainer.java
+++ 
b/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/SeaweedFsTestContainer.java
@@ -36,40 +36,41 @@ import org.testcontainers.utility.Base58;
 import java.time.Duration;
 import java.util.Locale;
 
-/** {@code MinioTestContainer} provides a {@code Minio} test instance. */
-public class MinioTestContainer extends GenericContainer<MinioTestContainer> {
+/** {@code SeaweedFsTestContainer} provides a {@code SeaweedFs} test instance. 
*/
+public class SeaweedFsTestContainer extends 
GenericContainer<SeaweedFsTestContainer> {
 
     private static final String FLINK_CONFIG_S3_ENDPOINT = "s3.endpoint";
 
-    private static final int DEFAULT_PORT = 9000;
+    private static final int DEFAULT_PORT = 8333;
 
-    private static final String MINIO_ACCESS_KEY = "MINIO_ROOT_USER";
-    private static final String MINIO_SECRET_KEY = "MINIO_ROOT_PASSWORD";
+    private static final String AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID";
+    private static final String AWS_SECRET_ACCESS_KEY = 
"AWS_SECRET_ACCESS_KEY";
 
     private static final String DEFAULT_STORAGE_DIRECTORY = "/data";
-    private static final String HEALTH_ENDPOINT = "/minio/health/ready";
+    private static final String HEALTH_ENDPOINT = "/healthz";
 
     private final String accessKey;
     private final String secretKey;
     private final String defaultBucketName;
 
-    public MinioTestContainer() {
+    public SeaweedFsTestContainer() {
         this(randomString("bucket", 6));
     }
 
-    public MinioTestContainer(String defaultBucketName) {
-        super(DockerImageVersions.MINIO);
+    public SeaweedFsTestContainer(String defaultBucketName) {
+        super(DockerImageVersions.SEAWEEDFS);
 
         this.accessKey = randomString("accessKey", 10);
         // secrets must have at least 8 characters
         this.secretKey = randomString("secret", 10);
         this.defaultBucketName = Preconditions.checkNotNull(defaultBucketName);
 
-        withNetworkAliases(randomString("minio", 6));
+        withNetworkAliases(randomString("seaweedfs", 6));
         addExposedPort(DEFAULT_PORT);
-        withEnv(MINIO_ACCESS_KEY, this.accessKey);
-        withEnv(MINIO_SECRET_KEY, this.secretKey);
-        withCommand("server", DEFAULT_STORAGE_DIRECTORY);
+        withEnv(AWS_ACCESS_KEY_ID, this.accessKey);
+        withEnv(AWS_SECRET_ACCESS_KEY, this.secretKey);
+        withCommand(
+                "server", "-s3", "-s3.port=" + DEFAULT_PORT, "-dir=" + 
DEFAULT_STORAGE_DIRECTORY);
         setWaitStrategy(
                 new HttpWaitStrategy()
                         .forPort(DEFAULT_PORT)
@@ -90,7 +91,7 @@ public class MinioTestContainer extends 
GenericContainer<MinioTestContainer> {
         return String.format("%s-%s", prefix, 
Base58.randomString(length).toLowerCase(Locale.ROOT));
     }
 
-    /** Creates {@link AmazonS3} client for accessing the {@code Minio} 
instance. */
+    /** Creates {@link AmazonS3} client for accessing the {@code SeaweedFs} 
instance. */
     public AmazonS3 getClient() {
         return AmazonS3Client.builder()
                 .withCredentials(
@@ -108,9 +109,9 @@ public class MinioTestContainer extends 
GenericContainer<MinioTestContainer> {
     }
 
     /**
-     * Initializes the Minio instance (i.e. creating the default bucket and 
initializing Flink's
+     * Initializes the SeaweedFs instance (i.e. creating the default bucket 
and initializing Flink's
      * FileSystems). Additionally, the passed Flink {@link Configuration} is 
extended by all
-     * relevant parameter to access the {@code Minio} instance.
+     * relevant parameter to access the {@code SeaweedFs} instance.
      */
     public void setS3ConfigOptions(Configuration config) {
         config.setString(FLINK_CONFIG_S3_ENDPOINT, getHttpEndpoint());
diff --git 
a/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/MinioTestContainerTest.java
 
b/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/SeaweedFsTestContainerTest.java
similarity index 89%
rename from 
flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/MinioTestContainerTest.java
rename to 
flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/SeaweedFsTestContainerTest.java
index 988df5104fc..f692153264a 100644
--- 
a/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/MinioTestContainerTest.java
+++ 
b/flink-filesystems/flink-s3-fs-base/src/test/java/org/apache/flink/fs/s3/common/SeaweedFsTestContainerTest.java
@@ -35,22 +35,22 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /**
- * {@code MinioTestContainerTest} tests some basic functionality provided by 
{@link
- * MinioTestContainer}.
+ * {@code SeaweedFsTestContainerTest} tests some basic functionality provided 
by {@link
+ * SeaweedFsTestContainer}.
  */
-public class MinioTestContainerTest {
+public class SeaweedFsTestContainerTest {
 
     private static final String DEFAULT_BUCKET_NAME = "test-bucket";
 
     @RegisterExtension
-    private static final 
EachCallbackWrapper<TestContainerExtension<MinioTestContainer>>
-            MINIO_EXTENSION =
+    private static final 
EachCallbackWrapper<TestContainerExtension<SeaweedFsTestContainer>>
+            SEAWEEDFS_EXTENSION =
                     new EachCallbackWrapper<>(
                             new TestContainerExtension<>(
-                                    () -> new 
MinioTestContainer(DEFAULT_BUCKET_NAME)));
+                                    () -> new 
SeaweedFsTestContainer(DEFAULT_BUCKET_NAME)));
 
-    private static MinioTestContainer getTestContainer() {
-        return MINIO_EXTENSION.getCustomExtension().getTestContainer();
+    private static SeaweedFsTestContainer getTestContainer() {
+        return SEAWEEDFS_EXTENSION.getCustomExtension().getTestContainer();
     }
 
     private static AmazonS3 getClient() {
diff --git 
a/flink-filesystems/flink-s3-fs-hadoop/src/test/java/org/apache/flink/fs/s3hadoop/HAJobRunOnHadoopS3FileSystemITCase.java
 
b/flink-filesystems/flink-s3-fs-hadoop/src/test/java/org/apache/flink/fs/s3hadoop/HAJobRunOnHadoopS3FileSystemITCase.java
index ebe5f713e79..318f29769e6 100644
--- 
a/flink-filesystems/flink-s3-fs-hadoop/src/test/java/org/apache/flink/fs/s3hadoop/HAJobRunOnHadoopS3FileSystemITCase.java
+++ 
b/flink-filesystems/flink-s3-fs-hadoop/src/test/java/org/apache/flink/fs/s3hadoop/HAJobRunOnHadoopS3FileSystemITCase.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.fs.s3hadoop;
 
-import org.apache.flink.fs.s3.common.HAJobRunOnMinioS3StoreITCase;
+import org.apache.flink.fs.s3.common.HAJobRunOnSeaweedFsS3StoreITCase;
 
-/** Runs the {@link HAJobRunOnMinioS3StoreITCase} on the Hadoop S3 file 
system. */
-public class HAJobRunOnHadoopS3FileSystemITCase extends 
HAJobRunOnMinioS3StoreITCase {}
+/** Runs the {@link HAJobRunOnSeaweedFsS3StoreITCase} on the Hadoop S3 file 
system. */
+public class HAJobRunOnHadoopS3FileSystemITCase extends 
HAJobRunOnSeaweedFsS3StoreITCase {}
diff --git 
a/flink-filesystems/flink-s3-fs-presto/src/test/java/org/apache/flink/fs/s3presto/HAJobRunOnPrestoS3FileSystemITCase.java
 
b/flink-filesystems/flink-s3-fs-presto/src/test/java/org/apache/flink/fs/s3presto/HAJobRunOnPrestoS3FileSystemITCase.java
index 2bd9d82fc8d..fa4179d8cf9 100644
--- 
a/flink-filesystems/flink-s3-fs-presto/src/test/java/org/apache/flink/fs/s3presto/HAJobRunOnPrestoS3FileSystemITCase.java
+++ 
b/flink-filesystems/flink-s3-fs-presto/src/test/java/org/apache/flink/fs/s3presto/HAJobRunOnPrestoS3FileSystemITCase.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.fs.s3presto;
 
-import org.apache.flink.fs.s3.common.HAJobRunOnMinioS3StoreITCase;
+import org.apache.flink.fs.s3.common.HAJobRunOnSeaweedFsS3StoreITCase;
 
-/** Runs the {@link HAJobRunOnMinioS3StoreITCase} on the Presto S3 file 
system. */
-public class HAJobRunOnPrestoS3FileSystemITCase extends 
HAJobRunOnMinioS3StoreITCase {}
+/** Runs the {@link HAJobRunOnSeaweedFsS3StoreITCase} on the Presto S3 file 
system. */
+public class HAJobRunOnPrestoS3FileSystemITCase extends 
HAJobRunOnSeaweedFsS3StoreITCase {}
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 ee597b08264..655f4e3b466 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
@@ -36,7 +36,7 @@ public class DockerImageVersions {
 
     public static final String LOCALSTACK = "localstack/localstack:0.13.3";
 
-    public static final String MINIO = 
"quay.io/minio/minio:RELEASE.2022-02-07T08-17-33Z";
+    public static final String SEAWEEDFS = "chrislusf/seaweedfs:4.34";
 
     public static final String ZOOKEEPER = "zookeeper:3.4.14";
 

Reply via email to