Skip to content

[branch-55] Pull the MinIO test image from quay.io (#25092, #25216) - #25485

Merged
alamb merged 2 commits into
apache:branch-55from
alamb:alamb/backport_minio_25092_25216
Sep 19, 2026
Merged

alamb merged 2 commits into
apache:branch-55from
alamb:alamb/backport_minio_25092_25216

Conversation

@alamb

@alamb alamb commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

This PR:

Rationale

MinIO withdrew minio/minio from Docker Hub on 2026-09-11, so every datafusion-cli storage integration test on branch-55 now panics while pulling the image (for example the CI failure on #25277).

comphead and others added 2 commits September 18, 2026 16:48
## Rationale for this change

I observed PRs sometimes got kicked out of merge queue because flaky
`datafusion-cli` tests, which require full CI again

The `datafusion-cli` storage integration tests (`test_cli`,
`test_aws_options`, `test_s3_url_fallback`,
`test_object_store_profiling`) each start their own MinIO container, so
a single CI run pulls the image several times concurrently. Any
transient Docker failure during that pull fails the test immediately:

```
thread 'test_aws_options' panicked at datafusion-cli/tests/cli_integration.rs:607:25:
called `Result::unwrap()` on an `Err` value: "Failed to start MinIO container.
Ensure Docker is running and accessible: failed to pull the image
'minio/minio:RELEASE.2025-02-28T09-55-16Z', error: bytes remaining on stream"
```

These errors are transient and clear on a second attempt, so a flaky
pull should not fail the job.

## Rationale for this change

The `datafusion-cli` storage integration tests (`test_cli`,
`test_aws_options`, `test_s3_url_fallback`,
`test_object_store_profiling`) each start their own MinIO container, so
a single CI run pulls the image several times concurrently. Any
transient Docker failure during that pull fails the test immediately:

```
thread 'test_aws_options' panicked at datafusion-cli/tests/cli_integration.rs:607:25:
called `Result::unwrap()` on an `Err` value: "Failed to start MinIO container.
Ensure Docker is running and accessible: failed to pull the image
'minio/minio:RELEASE.2025-02-28T09-55-16Z', error: bytes remaining on stream"
```

These errors are transient and clear on a second attempt, so a flaky
pull should not fail the job.

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
(cherry picked from commit 1ec9ede)
MinIO withdrew the `minio/minio` repository from Docker Hub on
2026-09-11. The repository itself 404s, so the image that
`testcontainers-modules` pins no longer resolves and every
`datafusion-cli` storage integration test panics on startup.

Every `testcontainers-modules` version DataFusion has used (0.12 through
0.15) pins the identical tag, so downgrading does not help. quay.io
still serves that tag, so override the registry only and leave the tag
coming from the crate.

Also tighten `minio_image_matches_ci_prepull`: it matched a bare image
reference, which `quay.io/minio/minio:<tag>` satisfies as a substring,
and it now checks that the override still mirrors the crate's image
name.

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#25215 .

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.

Please explain the problem you are trying to solve in terms of the
user-visible
behavior, rather than the implementation.

For example, "The code in `foo.rs` doesn't handle nulls" is a symptom of
the
implementation. "COUNT(DISTINCT) returns wrong results when the column
contains
nulls" is the user-visible problem.
-->

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here, but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## What is the testing strategy for this PR?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

Briefly describe how this PR is tested, and point to the specific tests
you added. For example: 'This new feature is covered by the
`sqllogictest` cases added in `foo.slt`'.

If this PR does not add tests, explain why. For example, if the change
is already covered by existing tests, please mention it.

You should also check the `codecov` bot reply on this PR to confirm the
changed code is exercised.
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.

If there are any breaking changes to public APIs, please add the `api
change` label.
-->

(cherry picked from commit bb21f51)
@github-actions github-actions Bot added the development-process Related to development process of DataFusion label Sep 18, 2026
@alamb
alamb marked this pull request as ready for review September 18, 2026 20:55
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.21%. Comparing base (7d3835c) to head (904ed20).

Additional details and impacted files
@@              Coverage Diff              @@
##           branch-55   #25485      +/-   ##
=============================================
- Coverage      81.21%   81.21%   -0.01%     
=============================================
  Files           1110     1110              
  Lines         388499   388499              
  Branches      388499   388499              
=============================================
- Hits          315521   315512       -9     
- Misses         54428    54437       +9     
  Partials       18550    18550              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@comphead comphead left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @alamb lgtm

@alamb
alamb merged commit 180db4c into apache:branch-55 Sep 19, 2026
35 checks passed
@alamb
alamb deleted the alamb/backport_minio_25092_25216 branch September 19, 2026 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development-process Related to development process of DataFusion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants