NoahKusaba opened a new pull request, #2488:
URL: https://github.com/apache/datafusion-ballista/pull/2488

   # Rationale for this change
   
   The S3 integration tests in `examples/tests/object_store.rs` fail on every 
run. They start a MinIO container, and MinIO has withdrawn its `minio/minio` 
image: from Docker Hub on 2026-09-11 (worked around in #2447 by switching to 
quay.io), and now from quay.io on 2026-09-24. Pulling it returns:
   
   ```
   PullImage { descriptor: "quay.io/minio/minio:RELEASE.2025-02-28T09-55-16Z", 
err: DockerResponseServerError { status_code: 500, message: "unauthorized: 
access to the requested resource is not authorized" } }
   ```
   
   All five tests panic at container start, before any Ballista code runs, so 
this breaks `test linux crates` for every PR (for example #2480) and for 
`main`'s next run.
   
   # What changes are included in this PR?
   
   - Run the tests against [RustFS](https://github.com/rustfs/rustfs), an 
S3-compatible server published on Docker Hub, pinned to `rustfs/rustfs:1.0.0`. 
It is pinned so that a new RustFS release can't break unrelated PRs, and so 
local runs and CI use the same image.
   - `testcontainers-modules` was only here for its MinIO module. Depend on 
`testcontainers` 0.27 directly and start a `GenericImage`. The lockfile loses 
one package and gains none.
   - Wait on RustFS's `/health` endpoint rather than a log line, since RustFS 
logs only warnings by default. This needs `testcontainers`' `http_wait_plain` 
feature, which only adds `reqwest`, already in the lockfile.
   - Keep creating the bucket with `mkdir` under the data volume, which RustFS 
serves as a bucket. The exec now waits for a zero exit code instead of sleeping 
for one second.
   - `custom-client.rs`'s setup instructions start RustFS instead of the 
withdrawn image, and now create the bucket the example writes to.
   
   # Are there any user-facing changes?
   
   No. Test infrastructure and example instructions only.
   
   Verified locally: `cargo test -p ballista-examples --features testcontainers 
--test object_store` passes, 5 of 5, against RustFS. `cargo clippy -p 
ballista-examples --all-targets --all-features -- -D warnings`, `cargo fmt 
--check` and `taplo format --check` are clean.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to