apache / apache/gravitino

[Bug report] Trino connector JUnit integration tests never run in CI

Closed
#13,141 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 16h
Merged PRs (30d)
298

Description

### Version

main branch

### Describe what's wrong

The Trino integration workflow only runs the SQL-file harness (`trino_integration_test.sh` -> `:trino-connector:integration-test:TrinoTest`). No step runs `:trino-connector:integration-test:test`, so the JUnit ITs in that source set, including `TrinoUDFIT`, have never executed.

`TrinoUDFIT` asserts exactly the behaviour that is broken (SHOW FUNCTIONS and invocation of a registered SQL function) and would have failed on its first run. It also waits for `show catalogs` to contain `.`, which never appears because the IT environment runs the connector in single-metalake mode.

The unit tests in `TestGravitinoMetadataFunction` pass only because they assert that `LanguageFunction::sql` comes back byte-for-byte as stored, i.e. they assert the pass-through that is the defect.

### Error message and/or stacktrace

N/A

### How to reproduce

Run `./gradlew :trino-connector:integration-test:test -PskipDockerTests=false` locally: `TrinoUDFIT` fails with `Catalog gt_hive_udf sync timeout`.

### Additional context

The JUnit ITs should run in the Trino integration workflow alongside the existing harness.

Contributor guide

Open the contributing guide

Research direction

Start by running ./gradlew :trino-connector:integration-test:test -PskipDockerTests=false and read TrinoUDFIT alongside trino_integration_test.sh. Trace the Trino integration workflow and its single-metalake setup, then ensure the JUnit integration tests run with the existing harness and no longer fail on the catalog sync timeout.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, shell
Domain
backend, ci-cd, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.