From 987ba0077da22af0246be117a817fcbef175cfdc Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Tue, 18 Aug 2026 10:43:56 +0300 Subject: [PATCH] [improve][build] Upgrade async-http-client to 3.0.13 and netty-reactive-streams to 2.0.19 - async-http-client 3.0.10 -> 3.0.13 - netty-reactive-streams 2.0.6 -> 2.0.19 These two form the HTTP stack behind the admin client. They were originally part of the networking dependency update (apache/pulsar#26358) and are split out here because that PR reproducibly failed four integration and system test jobs, and these are the most likely trigger. The failure mode is that pulsar-admin / pulsar-client print a JDK restricted-method warning to stderr: WARNING: java.lang.System::loadLibrary has been called by io.netty.util.internal.NativeLibraryUtil in an unnamed module (file:/pulsar/lib/io.netty-netty-common-4.2.17.Final.jar) Tests that assert the CLI produces no stderr output then fail. Netty itself is not changed by this PR, and the server distribution's jar list is identical apart from these two version bumps, so the trigger is a change in when a Netty native library gets loaded rather than which Netty is used. Note that bin/pulsar passes --enable-native-access=ALL-UNNAMED but bin/pulsar-admin-common.sh does not, which is why the warning is only visible from the CLI; that gap is addressed separately. Splitting this out lets CI confirm whether these two libraries are in fact the trigger, while the rest of the networking updates proceed independently. Assisted-by: Claude Code (Opus 5) --- distribution/server/src/assemble/LICENSE.bin.txt | 4 ++-- distribution/shell/src/assemble/LICENSE.bin.txt | 4 ++-- gradle/libs.versions.toml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 1dfdb56f59627..b4eebb29d59dc 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -274,7 +274,7 @@ The Apache Software License, Version 2.0 - com.google.guava-failureaccess-1.0.3.jar - com.google.guava-listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar * J2ObjC Annotations -- com.google.j2objc-j2objc-annotations-3.1.jar - * Netty Reactive Streams -- com.typesafe.netty-netty-reactive-streams-2.0.6.jar + * Netty Reactive Streams -- com.typesafe.netty-netty-reactive-streams-2.0.19.jar * Swagger - io.swagger.core.v3-swagger-annotations-jakarta-2.2.50.jar * slog -- io.github.merlimat.slog-slog-0.10.0.jar @@ -390,7 +390,7 @@ The Apache Software License, Version 2.0 * AirCompressor - io.airlift-aircompressor-2.0.3.jar * AsyncHttpClient - - org.asynchttpclient-async-http-client-3.0.10.jar + - org.asynchttpclient-async-http-client-3.0.13.jar * Jetty - org.eclipse.jetty-jetty-alpn-client-12.1.12.jar - org.eclipse.jetty-jetty-alpn-conscrypt-server-12.1.12.jar diff --git a/distribution/shell/src/assemble/LICENSE.bin.txt b/distribution/shell/src/assemble/LICENSE.bin.txt index 0a31e1e1ed931..8727df3aa64b7 100644 --- a/distribution/shell/src/assemble/LICENSE.bin.txt +++ b/distribution/shell/src/assemble/LICENSE.bin.txt @@ -333,7 +333,7 @@ The Apache Software License, Version 2.0 - failureaccess-1.0.3.jar - listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar * J2ObjC Annotations -- j2objc-annotations-3.1.jar - * Netty Reactive Streams -- netty-reactive-streams-2.0.6.jar + * Netty Reactive Streams -- netty-reactive-streams-2.0.19.jar * Swagger -- swagger-annotations-jakarta-2.2.50.jar * DataSketches - datasketches-java-7.0.1.jar @@ -404,7 +404,7 @@ The Apache Software License, Version 2.0 * AirCompressor - aircompressor-2.0.3.jar * AsyncHttpClient - - async-http-client-3.0.10.jar + - async-http-client-3.0.13.jar * Jetty - jetty-alpn-client-12.1.12.jar - jetty-client-12.1.12.jar diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index df634b55a28f2..e2d4501e1e1a2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -66,7 +66,7 @@ snakeyaml = "2.6" # Vert.x vertx = "4.5.28" # Networking / HTTP -asynchttpclient = "3.0.10" +asynchttpclient = "3.0.13" conscrypt = "2.6.2" okhttp3 = "5.3.2" okio = "3.17.0" @@ -117,7 +117,7 @@ typetools = "0.5.0" jna = "5.18.1" java-semver = "0.9.0" oshi = "6.4.0" -netty-reactive-streams = "2.0.6" +netty-reactive-streams = "2.0.19" # 9.2.0+ is required for CronType.SPRING53 (Spring 5.3+ cron syntax) cron-utils = "9.2.1" failsafe = "3.3.2"