Skip to content

[improve][build] Upgrade networking and infrastructure client libraries - #26358

Open
lhotari wants to merge 2 commits into
apache:masterfrom
lhotari:lh-improve-networking-clients
Open

[improve][build] Upgrade networking and infrastructure client libraries#26358
lhotari wants to merge 2 commits into
apache:masterfrom
lhotari:lh-improve-networking-clients

Conversation

@lhotari

@lhotari lhotari commented Aug 17, 2026

Copy link
Copy Markdown
Member

Motivation

The networking and infrastructure client libraries are behind. These are grouped together because
they are all external service or transport clients with similar risk profiles.

Modifications

gradle/libs.versions.toml:

library from to
Vert.x 4.5.28 4.5.32
async-http-client 3.0.10 3.0.13
netty-reactive-streams 2.0.6 2.0.19
Curator 5.7.1 5.9.0
Thrift 0.23.0 0.24.0
jclouds 2.6.0 2.7.0
Kubernetes client 26.0.0 27.0.0
AWS SDK 1.12.788 1.12.797

Plus the corresponding jar names in the server and shell distribution LICENSE.bin.txt files.

Notes on the individual bumps:

  • Vert.x stays on the 4.5.x line. That is what BookKeeper's vertx-http-server builds against;
    4.5.32 is its latest patch release. Vert.x 5.x is not taken here.
  • Curator 5.9.0 targets ZooKeeper 3.9.x, matching the 3.9.5 already in the catalog.
  • Thrift is a transitive dependency of distributedlog-core; 0.24.0 keeps a Java 8 baseline.
  • jclouds 2.7.0 is a compatibility and bug-fix release. The Jakarta migration already happened in
    2.6.0, and jclouds is fully isolated inside the jclouds-shaded module, so the blast radius is
    contained.
  • Kubernetes client 27.0.0 tracks the upstream API spec and is Java 11 bytecode. The disruptive
    changes in that client (the options-object API shape, dropping Java 8) landed back at 20.0.0, well
    behind the 26.0.0 already in use.

The Kubernetes client upgrade also lifts unpinned transitives that ship in the server distribution,
so their LICENSE entries are updated to match: api-common 2.53.0 → 2.64.0 and
google-auth-library-credentials / -oauth2-http 1.43.0 → 1.48.0. These were caught by
checkBinaryLicense.

Verifying this change

  • Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.

Verified locally with ./gradlew sanityCheck and ./gradlew checkBinaryLicense.

Does this pull request potentially affect one of the following parts:

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

@lhotari lhotari added the area/dependency Pull requests that update a dependency file label Aug 17, 2026
@lhotari lhotari added this to the 5.0.0-M2 milestone Aug 17, 2026
- Vert.x                 4.5.28   -> 4.5.32
- Curator                5.7.1    -> 5.9.0
- Thrift                 0.23.0   -> 0.24.0
- jclouds                2.6.0    -> 2.7.0
- Kubernetes client      26.0.0   -> 27.0.0
- AWS SDK                1.12.788 -> 1.12.797

Vert.x stays on the 4.5.x line, which is what BookKeeper's vertx-http-server builds
against; 4.5.32 is its latest patch release.

Curator 5.9.0 targets ZooKeeper 3.9.x, matching the 3.9.5 already in use. Thrift is a
transitive dependency of distributedlog-core. jclouds 2.7.0 is a compatibility and
bug-fix release; the Jakarta migration already happened in 2.6.0, and jclouds is fully
isolated inside the jclouds-shaded module.

The Kubernetes client 27.0.0 upgrade also lifts unpinned transitives that ship in the
server distribution, so their LICENSE entries are updated to match: api-common 2.53.0 to
2.64.0 and google-auth-library-credentials / -oauth2-http 1.43.0 to 1.48.0.

async-http-client and netty-reactive-streams were originally part of this change and have
been split out into a separate pull request: they reproducibly broke four integration and
system test jobs, and isolating them keeps the rest of the networking updates reviewable
and mergeable on their own.

Assisted-by: Claude Code (Opus 5)
…ng-clients

# Conflicts:
#	distribution/server/src/assemble/LICENSE.bin.txt
#	gradle/libs.versions.toml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dependency Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant