eye-gu opened a new issue, #13848:
URL: https://github.com/apache/gravitino/issues/13848
### Version
main branch (bd301d1bb, 2026-10-13, includes 2d4796ba)
### Describe what's wrong
A plain local `./gradlew build` fails at two test tasks on a machine without
Docker:
1. `:clients:cli:test` — `TableFormatOutputIT` registers a PostgreSQL
catalog with `jdbc-database=db` while `jdbc-url` points at `.../mydb`. Two
recent changes reject this create:
- #12938 added the "jdbc-database must match the database specified in
jdbc-url" validation;
- #13767 added a create-time backend reachability probe
(`verify-on-create`, default `true`), and the test's fake host
`postgresql-host` is unreachable.
The CLI error path then calls `Main.exit(-1)`, which kills the whole test
JVM, so Gradle only reports `non-zero exit value 255`, masking the real error.
2. `:iceberg:iceberg-rest-server:test` — `IcebergRESTAsyncPurgeIT`
unconditionally starts a PostgreSQL container but is missing
`@Tag("gravitino-docker-test")`, so it is not excluded on Docker-less machines
and fails with `Could not find a valid Docker environment` (same pattern as
#6329).
Neither is visible in CI: the build job runs `-PskipITs`, BackendIT jobs
exclude `-x :clients:cli:test`, and CI runners always have Docker.
### Error message and/or stacktrace
```
Execution failed for task ':clients:cli:test'.
> Process 'Gradle Test Executor 80' finished with non-zero exit value 255
```
```
java.lang.RuntimeException: Failed to initialize ContainerSuite
at
org.apache.gravitino.integration.test.container.ContainerSuite.initIfNecessary(ContainerSuite.java:128)
at
org.apache.gravitino.integration.test.container.ContainerSuite.startPostgreSQLContainer(ContainerSuite.java:450)
...
Caused by: java.lang.IllegalStateException: Could not find a valid Docker
environment. Please see logs and check configuration
```
### How to reproduce
- main branch (>= 2d4796ba), no Docker installed: `./gradlew build` fails at
`:iceberg:iceberg-rest-server:test`; `./gradlew :clients:cli:test` fails
regardless of Docker.
### Additional context
Fixes verified locally (each restores the corresponding task):
1. `TableFormatOutputIT`: set `jdbc-database=mydb` to match the URL, and add
`verify-on-create=false` — the documented way to register a catalog whose
backend is temporarily unavailable; this test only checks CLI table output and
uses a fake host deliberately.
2. `IcebergRESTAsyncPurgeIT`: add `@Tag("gravitino-docker-test")`,
consistent with all other container-based ITs in the module.
--
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]