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]

Reply via email to