trino
Remove dependency on airlift units from client
#25772
Open

Remove dependency on airlift units from client #25772

wendigo wants to merge 1 commit into trinodb:master from wendigo:serafin/airlift-jdbc
wendigo
wendigo12 days ago

Description

Additional context and related issues

Release notes

( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
( ) Release notes are required, with the following suggested text:

## Section
* Fix some things. ({issue}`issuenumber`)
cla-bot cla-bot added cla-signed
github-actions github-actions added jdbc
wendigo wendigo force pushed from 93c68adf to 14133ece 12 days ago
wendigo Remove dependency on airlift units from client
3f8aa0a5
martint
martint12 days ago

What's the purpose of this change? It just seems to make things more complicated.

wendigo
wendigo12 days ago

@martint we have long-standing issue with a mixed dependency versions and pinning. This removes this problem.

wendigo wendigo force pushed from 14133ece to 3f8aa0a5 12 days ago
martint
martint12 days ago

What's the issue? It's the first time I hear about it and haven't seen any PRs or builds fail due to that.

wendigo
wendigo12 days ago

@martint trino-jdbc pulls in old version of units while trino-main depends on the newer one. In the trino-jdbc tests, when you want to bring TestingTrinoServer up with some additional catalog configuration that depends on the Duration or DataSize being in a newer version, this will fail.

wendigo
wendigo12 days ago

We don't need units in the client to make it work. So removing it, removes this dependency mess

martint
martint11 days ago👍 1

There's a more fundamental problem. trino-jdbc and trino-client target Java 11, but TestingTrinoServer is in trino-main, which is built with Java 24. Any transitive dependencies in trino-main (via TrinoTestingServer) that are incompatible with Java 11 will cause similar problems. At a minimum, they may cause trino-jdbc/trino-client to run tests with a dependency that doesn't match the dependency that's actually bundled in the package during final build.

wendigo
wendigo11 days ago

@martint yes but since we keep versions in sync across modules (except for units) we are sure that jdbc uses dependencies supporting JDK11+

martint
martint11 days ago

That's not guaranteed. If we need to bump a dependency in trino-main, we'll do that, even if that dependency is not compatible with Java 11.

wendigo
wendigo11 days ago

@martint I understand but we are not in this situation right now except for airlift:units which I'm trying to remove in this PR

Login to write a write a comment.

Login via GitHub

Reviewers
No reviews
Assignees
No one assigned
Labels
Milestone