From ca56515add8d33cc78c59840f8d21120939daf70 Mon Sep 17 00:00:00 2001 From: Matteo Merli Date: Tue, 14 Apr 2026 13:28:33 -0700 Subject: [PATCH 1/3] Upgrade Netty to 4.2.12.Final Migrates io_uring transport from the `io.netty.incubator` incubator module (removed in 4.2) to the graduated `io.netty.channel.uring` package. Adds explicit `netty-transport-classes-epoll` dependency since Netty 4.2 splits epoll classes from native binaries. Replaces `IOUringEventLoopGroup` with `MultiThreadIoEventLoopGroup(IoUringIoHandler.newFactory())` and introduces `EventLoopUtil.isIoUringGroup()` to replace the former `instanceof IOUringEventLoopGroup` checks. Updates LICENSE/NOTICE files in bookkeeper-dist to reflect the new Netty 4.2.12 artifact names (split of netty-codec into netty-codec-base/compression and io_uring moving from io.netty.incubator to io.netty). --- bookkeeper-common/pom.xml | 12 +- .../src/main/resources/LICENSE-all.bin.txt | 111 +++++++++--------- .../src/main/resources/LICENSE-bkctl.bin.txt | 98 ++++++++-------- .../src/main/resources/LICENSE-server.bin.txt | 111 +++++++++--------- .../src/main/resources/NOTICE-all.bin.txt | 52 ++++---- .../src/main/resources/NOTICE-bkctl.bin.txt | 39 +++--- .../src/main/resources/NOTICE-server.bin.txt | 52 ++++---- bookkeeper-server/pom.xml | 4 + .../bookkeeper/proto/BookieNettyServer.java | 11 +- .../proto/PerChannelBookieClient.java | 12 +- .../apache/bookkeeper/util/EventLoopUtil.java | 16 ++- pom.xml | 25 +--- 12 files changed, 270 insertions(+), 273 deletions(-) diff --git a/bookkeeper-common/pom.xml b/bookkeeper-common/pom.xml index cc548115996..985f1e2fb72 100644 --- a/bookkeeper-common/pom.xml +++ b/bookkeeper-common/pom.xml @@ -73,13 +73,17 @@ commons-lang3 - io.netty.incubator - netty-incubator-transport-native-io_uring + io.netty + netty-transport-classes-io_uring + + + io.netty + netty-transport-native-io_uring linux-x86_64 - io.netty.incubator - netty-incubator-transport-native-io_uring + io.netty + netty-transport-native-io_uring linux-aarch_64 diff --git a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt index 9fb5a8424f5..e23b4fe4b09 100644 --- a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt +++ b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt @@ -216,32 +216,33 @@ Apache Software License, Version 2. - lib/commons-codec-commons-codec-1.18.0.jar [6] - lib/commons-io-commons-io-2.19.0.jar [8] - lib/commons-logging-commons-logging-1.3.5.jar [10] -- lib/io.netty-netty-buffer-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-dns-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-http-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-http2-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-socks-4.1.130.Final.jar [11] -- lib/io.netty-netty-common-4.1.130.Final.jar [11] -- lib/io.netty-netty-handler-4.1.130.Final.jar [11] -- lib/io.netty-netty-handler-proxy-4.1.130.Final.jar [11] -- lib/io.netty-netty-resolver-4.1.130.Final.jar [11] -- lib/io.netty-netty-resolver-dns-4.1.130.Final.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-windows-x86_64.jar [11] -- lib/io.netty-netty-tcnative-classes-2.0.74.Final.jar [11] -- lib/io.netty-netty-transport-4.1.130.Final.jar [11] -- lib/io.netty-netty-transport-classes-epoll-4.1.130.Final.jar [11] -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-x86_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-x86_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-aarch_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-classes-io_uring-0.0.26.Final.jar [11] -- lib/io.netty-netty-transport-native-unix-common-4.1.130.Final.jar [11] +- lib/io.netty-netty-buffer-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-base-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-compression-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-dns-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-http-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-http2-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-socks-4.2.12.Final.jar [11] +- lib/io.netty-netty-common-4.2.12.Final.jar [11] +- lib/io.netty-netty-handler-4.2.12.Final.jar [11] +- lib/io.netty-netty-handler-proxy-4.2.12.Final.jar [11] +- lib/io.netty-netty-resolver-4.2.12.Final.jar [11] +- lib/io.netty-netty-resolver-dns-4.2.12.Final.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-windows-x86_64.jar [11] +- lib/io.netty-netty-tcnative-classes-2.0.75.Final.jar [11] +- lib/io.netty-netty-transport-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-classes-epoll-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-classes-io_uring-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-transport-native-unix-common-4.2.12.Final.jar [11] - lib/io.prometheus-simpleclient-0.15.0.jar [12] - lib/io.prometheus-simpleclient_common-0.15.0.jar [12] - lib/io.prometheus-simpleclient_hotspot-0.15.0.jar [12] @@ -373,7 +374,7 @@ Apache Software License, Version 2. [8] Source available at https://github.com/apache/commons-io/tree/rel/commons-io-2.19.0 [9] Source available at https://github.com/apache/commons-lang/tree/LANG_2_6 [10] Source available at https://github.com/apache/commons-logging/tree/commons-logging-1.3.5 -[11] Source available at https://github.com/netty/netty/tree/netty-4.1.130.Final +[11] Source available at https://github.com/netty/netty/tree/netty-4.2.12.Final [12] Source available at https://github.com/prometheus/client_java/tree/parent-0.15.0 [13] Source available at https://github.com/vert-x3/vertx-auth/tree/4.3.2 [14] Source available at https://github.com/vert-x3/vertx-bridge-common/tree/4.3.2 @@ -422,9 +423,9 @@ Apache Software License, Version 2. [62] Source available at https://github.com/apache/commons-beanutils/tree/rel/commons-beanutils-1.11.0 [63] Source available at https://github.com/googleapis/sdk-platform-java/tree/v2.53.0/api-common-java ------------------------------------------------------------------------------------ -lib/io.netty-netty-codec-4.1.130.Final.jar bundles some 3rd party dependencies +lib/io.netty-netty-codec-base-4.2.12.Final.jar bundles some 3rd party dependencies -lib/io.netty-netty-codec-4.1.130.Final.jar contains the extensions to Java Collections Framework which has +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the extensions to Java Collections Framework which has been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: * LICENSE: @@ -433,7 +434,7 @@ been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/ * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of Robert Harder's Public Domain +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of Robert Harder's Public Domain Base64 Encoder and Decoder, which can be obtained at: * LICENSE: @@ -441,7 +442,7 @@ Base64 Encoder and Decoder, which can be obtained at: * HOMEPAGE: * http://iharder.sourceforge.net/current/java/base64/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Webbit', an event based +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Webbit', an event based WebSocket and HTTP server, which can be obtained at: * LICENSE: @@ -449,7 +450,7 @@ WebSocket and HTTP server, which can be obtained at: * HOMEPAGE: * https://github.com/joewalnes/webbit -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'SLF4J', a simple logging +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'SLF4J', a simple logging facade for Java, which can be obtained at: * LICENSE: @@ -457,7 +458,7 @@ facade for Java, which can be obtained at: * HOMEPAGE: * http://www.slf4j.org/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Apache Harmony', an open source +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Apache Harmony', an open source Java SE, which can be obtained at: * NOTICE: @@ -467,7 +468,7 @@ Java SE, which can be obtained at: * HOMEPAGE: * http://archive.apache.org/dist/harmony/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'jbzip2', a Java bzip2 compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'jbzip2', a Java bzip2 compression and decompression library written by Matthew J. Francis. It can be obtained at: * LICENSE: @@ -475,7 +476,7 @@ and decompression library written by Matthew J. Francis. It can be obtained at: * HOMEPAGE: * https://code.google.com/p/jbzip2/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'libdivsufsort', a C API library to construct +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'libdivsufsort', a C API library to construct the suffix array and the Burrows-Wheeler transformed string for any input string of a constant-size alphabet written by Yuta Mori. It can be obtained at: @@ -484,7 +485,7 @@ a constant-size alphabet written by Yuta Mori. It can be obtained at: * HOMEPAGE: * https://github.com/y-256/libdivsufsort -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of Nitsan Wakart's 'JCTools', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM, which can be obtained at: * LICENSE: @@ -492,7 +493,7 @@ Java Concurrency Tools for the JVM, which can be obtained at: * HOMEPAGE: * https://github.com/JCTools/JCTools -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'JZlib', a re-implementation of zlib in +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'JZlib', a re-implementation of zlib in pure Java, which can be obtained at: * LICENSE: @@ -500,7 +501,7 @@ pure Java, which can be obtained at: * HOMEPAGE: * http://www.jcraft.com/jzlib/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Compress-LZF', a Java library for encoding and +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Compress-LZF', a Java library for encoding and decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: * LICENSE: @@ -508,7 +509,7 @@ decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: * HOMEPAGE: * https://github.com/ning/compress -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'lz4-java', a LZ4 Java compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'lz4-java', a LZ4 Java compression and decompression library written by Adrien Grand. It can be obtained at: * LICENSE: @@ -516,7 +517,7 @@ and decompression library written by Adrien Grand. It can be obtained at: * HOMEPAGE: * https://github.com/yawkat/lz4-java -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'lzma-java', a LZMA Java compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'lzma-java', a LZMA Java compression and decompression library, which can be obtained at: * LICENSE: @@ -524,7 +525,7 @@ and decompression library, which can be obtained at: * HOMEPAGE: * https://github.com/jponge/lzma-java -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'jfastlz', a Java port of FastLZ compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'jfastlz', a Java port of FastLZ compression and decompression library written by William Kinney. It can be obtained at: * LICENSE: @@ -532,7 +533,7 @@ and decompression library written by William Kinney. It can be obtained at: * HOMEPAGE: * https://code.google.com/p/jfastlz/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of and optionally depends on 'Protocol Buffers', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data interchange format, which can be obtained at: * LICENSE: @@ -540,7 +541,7 @@ Google's data interchange format, which can be obtained at: * HOMEPAGE: * https://github.com/google/protobuf -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Bouncy Castle Crypto APIs' to generate +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Bouncy Castle Crypto APIs' to generate a temporary self-signed X.509 certificate when the JVM does not provide the equivalent functionality. It can be obtained at: @@ -549,7 +550,7 @@ equivalent functionality. It can be obtained at: * HOMEPAGE: * http://www.bouncycastle.org/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Snappy', a compression library produced +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Snappy', a compression library produced by Google Inc, which can be obtained at: * LICENSE: @@ -557,7 +558,7 @@ by Google Inc, which can be obtained at: * HOMEPAGE: * https://github.com/google/snappy -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'JBoss Marshalling', an alternative Java +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'JBoss Marshalling', an alternative Java serialization API, which can be obtained at: * LICENSE: @@ -565,7 +566,7 @@ serialization API, which can be obtained at: * HOMEPAGE: * https://github.com/jboss-remoting/jboss-marshalling -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Caliper', Google's micro- +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Caliper', Google's micro- benchmarking framework, which can be obtained at: * LICENSE: @@ -573,7 +574,7 @@ benchmarking framework, which can be obtained at: * HOMEPAGE: * https://github.com/google/caliper -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Apache Commons Logging', a logging +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Apache Commons Logging', a logging framework, which can be obtained at: * LICENSE: @@ -581,7 +582,7 @@ framework, which can be obtained at: * HOMEPAGE: * http://commons.apache.org/logging/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Apache Log4J', a logging framework, which +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Apache Log4J', a logging framework, which can be obtained at: * LICENSE: @@ -589,7 +590,7 @@ can be obtained at: * HOMEPAGE: * http://logging.apache.org/log4j/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Aalto XML', an ultra-high performance +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Aalto XML', an ultra-high performance non-blocking XML processor, which can be obtained at: * LICENSE: @@ -597,7 +598,7 @@ non-blocking XML processor, which can be obtained at: * HOMEPAGE: * http://wiki.fasterxml.com/AaltoHome -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: * LICENSE: @@ -605,7 +606,7 @@ the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: * HOMEPAGE: * https://github.com/twitter/hpack -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: * LICENSE: @@ -613,7 +614,7 @@ the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: * HOMEPAGE: * https://github.com/python-hyper/hpack/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at: * LICENSE: @@ -621,7 +622,7 @@ the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at * HOMEPAGE: * https://github.com/nghttp2/nghttp2/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Apache Commons Lang', a Java library +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Apache Commons Lang', a Java library provides utilities for the java.lang API, which can be obtained at: * LICENSE: @@ -630,7 +631,7 @@ provides utilities for the java.lang API, which can be obtained at: * https://commons.apache.org/proper/commons-lang/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains the Maven wrapper scripts from 'Maven Wrapper', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build. * LICENSE: @@ -638,7 +639,7 @@ that provides an easy way to ensure a user has everything necessary to run the M * HOMEPAGE: * https://github.com/takari/maven-wrapper -lib/io.netty-netty-codec-4.1.130.Final.jar contains the dnsinfo.h header file, +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the dnsinfo.h header file, that provides a way to retrieve the system DNS configuration on MacOS. This private header is also used by Apple's open source mDNSResponder (https://opensource.apple.com/tarballs/mDNSResponder/). diff --git a/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt index abfeb28f272..6982f75955d 100644 --- a/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt +++ b/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt @@ -216,26 +216,26 @@ Apache Software License, Version 2. - lib/commons-codec-commons-codec-1.18.0.jar [6] - lib/commons-io-commons-io-2.19.0.jar [8] - lib/commons-logging-commons-logging-1.3.5.jar [10] -- lib/io.netty-netty-buffer-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-4.1.130.Final.jar [11] -- lib/io.netty-netty-common-4.1.130.Final.jar [11] -- lib/io.netty-netty-handler-4.1.130.Final.jar [11] -- lib/io.netty-netty-resolver-4.1.130.Final.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-windows-x86_64.jar [11] -- lib/io.netty-netty-tcnative-classes-2.0.74.Final.jar [11] -- lib/io.netty-netty-transport-4.1.130.Final.jar [11] -- lib/io.netty-netty-transport-classes-epoll-4.1.130.Final.jar [11] -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-x86_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-x86_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-aarch_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-classes-io_uring-0.0.26.Final.jar [11] -- lib/io.netty-netty-transport-native-unix-common-4.1.130.Final.jar [11] +- lib/io.netty-netty-buffer-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-base-4.2.12.Final.jar [11] +- lib/io.netty-netty-common-4.2.12.Final.jar [11] +- lib/io.netty-netty-handler-4.2.12.Final.jar [11] +- lib/io.netty-netty-resolver-4.2.12.Final.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-windows-x86_64.jar [11] +- lib/io.netty-netty-tcnative-classes-2.0.75.Final.jar [11] +- lib/io.netty-netty-transport-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-classes-epoll-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-classes-io_uring-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-transport-native-unix-common-4.2.12.Final.jar [11] - lib/org.apache.logging.log4j-log4j-api-2.23.1.jar [16] - lib/org.apache.logging.log4j-log4j-core-2.23.1.jar [16] - lib/org.apache.logging.log4j-log4j-slf4j2-impl-2.23.1.jar [16] @@ -320,7 +320,7 @@ Apache Software License, Version 2. [8] Source available at https://github.com/apache/commons-io/tree/rel/commons-io-2.19.0 [9] Source available at https://github.com/apache/commons-lang/tree/LANG_2_6 [10] Source available at https://github.com/apache/commons-logging/tree/commons-logging-1.3.5 -[11] Source available at https://github.com/netty/netty/tree/netty-4.1.130.Final +[11] Source available at https://github.com/netty/netty/tree/netty-4.2.12.Final [16] Source available at https://github.com/apache/logging-log4j2/tree/rel/2.23.1 [18] Source available at https://github.com/apache/commons-collections/tree/collections-4.1 [19] Source available at https://github.com/apache/commons-lang/tree/LANG_3_6 @@ -356,9 +356,9 @@ Apache Software License, Version 2. [57] Source available at https://github.com/apache/commons-beanutils/tree/rel/commons-beanutils-1.11.0 [58] Source available at https://github.com/googleapis/sdk-platform-java/tree/v2.53.0/api-common-java ------------------------------------------------------------------------------------ -lib/io.netty-netty-codec-4.1.130.Final.jar bundles some 3rd party dependencies +lib/io.netty-netty-codec-base-4.2.12.Final.jar bundles some 3rd party dependencies -lib/io.netty-netty-codec-4.1.130.Final.jar contains the extensions to Java Collections Framework which has +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the extensions to Java Collections Framework which has been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: * LICENSE: @@ -367,7 +367,7 @@ been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/ * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of Robert Harder's Public Domain +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of Robert Harder's Public Domain Base64 Encoder and Decoder, which can be obtained at: * LICENSE: @@ -375,7 +375,7 @@ Base64 Encoder and Decoder, which can be obtained at: * HOMEPAGE: * http://iharder.sourceforge.net/current/java/base64/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Webbit', an event based +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Webbit', an event based WebSocket and HTTP server, which can be obtained at: * LICENSE: @@ -383,7 +383,7 @@ WebSocket and HTTP server, which can be obtained at: * HOMEPAGE: * https://github.com/joewalnes/webbit -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'SLF4J', a simple logging +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'SLF4J', a simple logging facade for Java, which can be obtained at: * LICENSE: @@ -391,7 +391,7 @@ facade for Java, which can be obtained at: * HOMEPAGE: * http://www.slf4j.org/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Apache Harmony', an open source +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Apache Harmony', an open source Java SE, which can be obtained at: * NOTICE: @@ -401,7 +401,7 @@ Java SE, which can be obtained at: * HOMEPAGE: * http://archive.apache.org/dist/harmony/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'jbzip2', a Java bzip2 compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'jbzip2', a Java bzip2 compression and decompression library written by Matthew J. Francis. It can be obtained at: * LICENSE: @@ -409,7 +409,7 @@ and decompression library written by Matthew J. Francis. It can be obtained at: * HOMEPAGE: * https://code.google.com/p/jbzip2/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'libdivsufsort', a C API library to construct +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'libdivsufsort', a C API library to construct the suffix array and the Burrows-Wheeler transformed string for any input string of a constant-size alphabet written by Yuta Mori. It can be obtained at: @@ -418,7 +418,7 @@ a constant-size alphabet written by Yuta Mori. It can be obtained at: * HOMEPAGE: * https://github.com/y-256/libdivsufsort -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of Nitsan Wakart's 'JCTools', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM, which can be obtained at: * LICENSE: @@ -426,7 +426,7 @@ Java Concurrency Tools for the JVM, which can be obtained at: * HOMEPAGE: * https://github.com/JCTools/JCTools -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'JZlib', a re-implementation of zlib in +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'JZlib', a re-implementation of zlib in pure Java, which can be obtained at: * LICENSE: @@ -434,7 +434,7 @@ pure Java, which can be obtained at: * HOMEPAGE: * http://www.jcraft.com/jzlib/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Compress-LZF', a Java library for encoding and +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Compress-LZF', a Java library for encoding and decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: * LICENSE: @@ -442,7 +442,7 @@ decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: * HOMEPAGE: * https://github.com/ning/compress -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'lz4-java', a LZ4 Java compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'lz4-java', a LZ4 Java compression and decompression library written by Adrien Grand. It can be obtained at: * LICENSE: @@ -450,7 +450,7 @@ and decompression library written by Adrien Grand. It can be obtained at: * HOMEPAGE: * https://github.com/yawkat/lz4-java -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'lzma-java', a LZMA Java compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'lzma-java', a LZMA Java compression and decompression library, which can be obtained at: * LICENSE: @@ -458,7 +458,7 @@ and decompression library, which can be obtained at: * HOMEPAGE: * https://github.com/jponge/lzma-java -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'jfastlz', a Java port of FastLZ compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'jfastlz', a Java port of FastLZ compression and decompression library written by William Kinney. It can be obtained at: * LICENSE: @@ -466,7 +466,7 @@ and decompression library written by William Kinney. It can be obtained at: * HOMEPAGE: * https://code.google.com/p/jfastlz/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of and optionally depends on 'Protocol Buffers', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data interchange format, which can be obtained at: * LICENSE: @@ -474,7 +474,7 @@ Google's data interchange format, which can be obtained at: * HOMEPAGE: * https://github.com/google/protobuf -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Bouncy Castle Crypto APIs' to generate +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Bouncy Castle Crypto APIs' to generate a temporary self-signed X.509 certificate when the JVM does not provide the equivalent functionality. It can be obtained at: @@ -483,7 +483,7 @@ equivalent functionality. It can be obtained at: * HOMEPAGE: * http://www.bouncycastle.org/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Snappy', a compression library produced +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Snappy', a compression library produced by Google Inc, which can be obtained at: * LICENSE: @@ -491,7 +491,7 @@ by Google Inc, which can be obtained at: * HOMEPAGE: * https://github.com/google/snappy -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'JBoss Marshalling', an alternative Java +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'JBoss Marshalling', an alternative Java serialization API, which can be obtained at: * LICENSE: @@ -499,7 +499,7 @@ serialization API, which can be obtained at: * HOMEPAGE: * https://github.com/jboss-remoting/jboss-marshalling -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Caliper', Google's micro- +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Caliper', Google's micro- benchmarking framework, which can be obtained at: * LICENSE: @@ -507,7 +507,7 @@ benchmarking framework, which can be obtained at: * HOMEPAGE: * https://github.com/google/caliper -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Apache Commons Logging', a logging +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Apache Commons Logging', a logging framework, which can be obtained at: * LICENSE: @@ -515,7 +515,7 @@ framework, which can be obtained at: * HOMEPAGE: * http://commons.apache.org/logging/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Apache Log4J', a logging framework, which +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Apache Log4J', a logging framework, which can be obtained at: * LICENSE: @@ -523,7 +523,7 @@ can be obtained at: * HOMEPAGE: * http://logging.apache.org/log4j/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Aalto XML', an ultra-high performance +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Aalto XML', an ultra-high performance non-blocking XML processor, which can be obtained at: * LICENSE: @@ -531,7 +531,7 @@ non-blocking XML processor, which can be obtained at: * HOMEPAGE: * http://wiki.fasterxml.com/AaltoHome -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: * LICENSE: @@ -539,7 +539,7 @@ the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: * HOMEPAGE: * https://github.com/twitter/hpack -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: * LICENSE: @@ -547,7 +547,7 @@ the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: * HOMEPAGE: * https://github.com/python-hyper/hpack/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at: * LICENSE: @@ -555,7 +555,7 @@ the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at * HOMEPAGE: * https://github.com/nghttp2/nghttp2/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Apache Commons Lang', a Java library +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Apache Commons Lang', a Java library provides utilities for the java.lang API, which can be obtained at: * LICENSE: @@ -564,7 +564,7 @@ provides utilities for the java.lang API, which can be obtained at: * https://commons.apache.org/proper/commons-lang/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains the Maven wrapper scripts from 'Maven Wrapper', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build. * LICENSE: @@ -572,7 +572,7 @@ that provides an easy way to ensure a user has everything necessary to run the M * HOMEPAGE: * https://github.com/takari/maven-wrapper -lib/io.netty-netty-codec-4.1.130.Final.jar contains the dnsinfo.h header file, +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the dnsinfo.h header file, that provides a way to retrieve the system DNS configuration on MacOS. This private header is also used by Apple's open source mDNSResponder (https://opensource.apple.com/tarballs/mDNSResponder/). diff --git a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt index e5907929af7..b4b7a8f44e0 100644 --- a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt +++ b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt @@ -216,32 +216,33 @@ Apache Software License, Version 2. - lib/commons-codec-commons-codec-1.18.0.jar [6] - lib/commons-io-commons-io-2.19.0.jar [8] - lib/commons-logging-commons-logging-1.3.5.jar [10] -- lib/io.netty-netty-buffer-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-dns-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-http-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-http2-4.1.130.Final.jar [11] -- lib/io.netty-netty-codec-socks-4.1.130.Final.jar [11] -- lib/io.netty-netty-common-4.1.130.Final.jar [11] -- lib/io.netty-netty-handler-4.1.130.Final.jar [11] -- lib/io.netty-netty-handler-proxy-4.1.130.Final.jar [11] -- lib/io.netty-netty-resolver-4.1.130.Final.jar [11] -- lib/io.netty-netty-resolver-dns-4.1.130.Final.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-windows-x86_64.jar [11] -- lib/io.netty-netty-tcnative-classes-2.0.74.Final.jar [11] -- lib/io.netty-netty-transport-4.1.130.Final.jar [11] -- lib/io.netty-netty-transport-classes-epoll-4.1.130.Final.jar [11] -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-x86_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-x86_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-aarch_64.jar [11] -- lib/io.netty.incubator-netty-incubator-transport-classes-io_uring-0.0.26.Final.jar [11] -- lib/io.netty-netty-transport-native-unix-common-4.1.130.Final.jar [11] +- lib/io.netty-netty-buffer-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-base-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-compression-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-dns-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-http-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-http2-4.2.12.Final.jar [11] +- lib/io.netty-netty-codec-socks-4.2.12.Final.jar [11] +- lib/io.netty-netty-common-4.2.12.Final.jar [11] +- lib/io.netty-netty-handler-4.2.12.Final.jar [11] +- lib/io.netty-netty-handler-proxy-4.2.12.Final.jar [11] +- lib/io.netty-netty-resolver-4.2.12.Final.jar [11] +- lib/io.netty-netty-resolver-dns-4.2.12.Final.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-windows-x86_64.jar [11] +- lib/io.netty-netty-tcnative-classes-2.0.75.Final.jar [11] +- lib/io.netty-netty-transport-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-classes-epoll-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-classes-io_uring-4.2.12.Final.jar [11] +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-transport-native-unix-common-4.2.12.Final.jar [11] - lib/io.prometheus-simpleclient-0.15.0.jar [12] - lib/io.prometheus-simpleclient_common-0.15.0.jar [12] - lib/io.prometheus-simpleclient_hotspot-0.15.0.jar [12] @@ -369,7 +370,7 @@ Apache Software License, Version 2. [8] Source available at https://github.com/apache/commons-io/tree/rel/commons-io-2.19.0 [9] Source available at https://github.com/apache/commons-lang/tree/LANG_2_6 [10] Source available at https://github.com/apache/commons-logging/tree/commons-logging-1.3.5 -[11] Source available at https://github.com/netty/netty/tree/netty-4.1.130.Final +[11] Source available at https://github.com/netty/netty/tree/netty-4.2.12.Final [12] Source available at https://github.com/prometheus/client_java/tree/parent-0.15.0 [13] Source available at https://github.com/vert-x3/vertx-auth/tree/4.3.2 [14] Source available at https://github.com/vert-x3/vertx-bridge-common/tree/4.3.2 @@ -417,9 +418,9 @@ Apache Software License, Version 2. [61] Source available at https://github.com/apache/commons-beanutils/tree/rel/commons-beanutils-1.11.0 [62] Source available at https://github.com/googleapis/sdk-platform-java/tree/v2.53.0/api-common-java ------------------------------------------------------------------------------------ -lib/io.netty-netty-codec-4.1.130.Final.jar bundles some 3rd party dependencies +lib/io.netty-netty-codec-base-4.2.12.Final.jar bundles some 3rd party dependencies -lib/io.netty-netty-codec-4.1.130.Final.jar contains the extensions to Java Collections Framework which has +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the extensions to Java Collections Framework which has been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: * LICENSE: @@ -428,7 +429,7 @@ been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/ * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of Robert Harder's Public Domain +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of Robert Harder's Public Domain Base64 Encoder and Decoder, which can be obtained at: * LICENSE: @@ -436,7 +437,7 @@ Base64 Encoder and Decoder, which can be obtained at: * HOMEPAGE: * http://iharder.sourceforge.net/current/java/base64/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Webbit', an event based +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Webbit', an event based WebSocket and HTTP server, which can be obtained at: * LICENSE: @@ -444,7 +445,7 @@ WebSocket and HTTP server, which can be obtained at: * HOMEPAGE: * https://github.com/joewalnes/webbit -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'SLF4J', a simple logging +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'SLF4J', a simple logging facade for Java, which can be obtained at: * LICENSE: @@ -452,7 +453,7 @@ facade for Java, which can be obtained at: * HOMEPAGE: * http://www.slf4j.org/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Apache Harmony', an open source +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Apache Harmony', an open source Java SE, which can be obtained at: * NOTICE: @@ -462,7 +463,7 @@ Java SE, which can be obtained at: * HOMEPAGE: * http://archive.apache.org/dist/harmony/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'jbzip2', a Java bzip2 compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'jbzip2', a Java bzip2 compression and decompression library written by Matthew J. Francis. It can be obtained at: * LICENSE: @@ -470,7 +471,7 @@ and decompression library written by Matthew J. Francis. It can be obtained at: * HOMEPAGE: * https://code.google.com/p/jbzip2/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'libdivsufsort', a C API library to construct +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'libdivsufsort', a C API library to construct the suffix array and the Burrows-Wheeler transformed string for any input string of a constant-size alphabet written by Yuta Mori. It can be obtained at: @@ -479,7 +480,7 @@ a constant-size alphabet written by Yuta Mori. It can be obtained at: * HOMEPAGE: * https://github.com/y-256/libdivsufsort -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of Nitsan Wakart's 'JCTools', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM, which can be obtained at: * LICENSE: @@ -487,7 +488,7 @@ Java Concurrency Tools for the JVM, which can be obtained at: * HOMEPAGE: * https://github.com/JCTools/JCTools -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'JZlib', a re-implementation of zlib in +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'JZlib', a re-implementation of zlib in pure Java, which can be obtained at: * LICENSE: @@ -495,7 +496,7 @@ pure Java, which can be obtained at: * HOMEPAGE: * http://www.jcraft.com/jzlib/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Compress-LZF', a Java library for encoding and +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Compress-LZF', a Java library for encoding and decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: * LICENSE: @@ -503,7 +504,7 @@ decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: * HOMEPAGE: * https://github.com/ning/compress -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'lz4-java', a LZ4 Java compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'lz4-java', a LZ4 Java compression and decompression library written by Adrien Grand. It can be obtained at: * LICENSE: @@ -511,7 +512,7 @@ and decompression library written by Adrien Grand. It can be obtained at: * HOMEPAGE: * https://github.com/yawkat/lz4-java -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'lzma-java', a LZMA Java compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'lzma-java', a LZMA Java compression and decompression library, which can be obtained at: * LICENSE: @@ -519,7 +520,7 @@ and decompression library, which can be obtained at: * HOMEPAGE: * https://github.com/jponge/lzma-java -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'jfastlz', a Java port of FastLZ compression +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'jfastlz', a Java port of FastLZ compression and decompression library written by William Kinney. It can be obtained at: * LICENSE: @@ -527,7 +528,7 @@ and decompression library written by William Kinney. It can be obtained at: * HOMEPAGE: * https://code.google.com/p/jfastlz/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of and optionally depends on 'Protocol Buffers', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data interchange format, which can be obtained at: * LICENSE: @@ -535,7 +536,7 @@ Google's data interchange format, which can be obtained at: * HOMEPAGE: * https://github.com/google/protobuf -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Bouncy Castle Crypto APIs' to generate +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Bouncy Castle Crypto APIs' to generate a temporary self-signed X.509 certificate when the JVM does not provide the equivalent functionality. It can be obtained at: @@ -544,7 +545,7 @@ equivalent functionality. It can be obtained at: * HOMEPAGE: * http://www.bouncycastle.org/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Snappy', a compression library produced +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Snappy', a compression library produced by Google Inc, which can be obtained at: * LICENSE: @@ -552,7 +553,7 @@ by Google Inc, which can be obtained at: * HOMEPAGE: * https://github.com/google/snappy -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'JBoss Marshalling', an alternative Java +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'JBoss Marshalling', an alternative Java serialization API, which can be obtained at: * LICENSE: @@ -560,7 +561,7 @@ serialization API, which can be obtained at: * HOMEPAGE: * https://github.com/jboss-remoting/jboss-marshalling -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Caliper', Google's micro- +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Caliper', Google's micro- benchmarking framework, which can be obtained at: * LICENSE: @@ -568,7 +569,7 @@ benchmarking framework, which can be obtained at: * HOMEPAGE: * https://github.com/google/caliper -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Apache Commons Logging', a logging +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Apache Commons Logging', a logging framework, which can be obtained at: * LICENSE: @@ -576,7 +577,7 @@ framework, which can be obtained at: * HOMEPAGE: * http://commons.apache.org/logging/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Apache Log4J', a logging framework, which +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Apache Log4J', a logging framework, which can be obtained at: * LICENSE: @@ -584,7 +585,7 @@ can be obtained at: * HOMEPAGE: * http://logging.apache.org/log4j/ -lib/io.netty-netty-codec-4.1.130.Final.jar optionally depends on 'Aalto XML', an ultra-high performance +lib/io.netty-netty-codec-base-4.2.12.Final.jar optionally depends on 'Aalto XML', an ultra-high performance non-blocking XML processor, which can be obtained at: * LICENSE: @@ -592,7 +593,7 @@ non-blocking XML processor, which can be obtained at: * HOMEPAGE: * http://wiki.fasterxml.com/AaltoHome -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: * LICENSE: @@ -600,7 +601,7 @@ the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: * HOMEPAGE: * https://github.com/twitter/hpack -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: * LICENSE: @@ -608,7 +609,7 @@ the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: * HOMEPAGE: * https://github.com/python-hyper/hpack/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified version of 'HPACK', a Java implementation of +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified version of 'HPACK', a Java implementation of the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at: * LICENSE: @@ -616,7 +617,7 @@ the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at * HOMEPAGE: * https://github.com/nghttp2/nghttp2/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains a modified portion of 'Apache Commons Lang', a Java library +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains a modified portion of 'Apache Commons Lang', a Java library provides utilities for the java.lang API, which can be obtained at: * LICENSE: @@ -625,7 +626,7 @@ provides utilities for the java.lang API, which can be obtained at: * https://commons.apache.org/proper/commons-lang/ -lib/io.netty-netty-codec-4.1.130.Final.jar contains the Maven wrapper scripts from 'Maven Wrapper', +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build. * LICENSE: @@ -633,7 +634,7 @@ that provides an easy way to ensure a user has everything necessary to run the M * HOMEPAGE: * https://github.com/takari/maven-wrapper -lib/io.netty-netty-codec-4.1.130.Final.jar contains the dnsinfo.h header file, +lib/io.netty-netty-codec-base-4.2.12.Final.jar contains the dnsinfo.h header file, that provides a way to retrieve the system DNS configuration on MacOS. This private header is also used by Apple's open source mDNSResponder (https://opensource.apple.com/tarballs/mDNSResponder/). diff --git a/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt b/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt index dff8a63857a..372fed056a3 100644 --- a/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt +++ b/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt @@ -23,31 +23,33 @@ LongAdder), which was released with the following comments: http://creativecommons.org/publicdomain/zero/1.0/ ------------------------------------------------------------------------------------ -- lib/io.netty-netty-buffer-4.1.130.Final.jar -- lib/io.netty-netty-codec-4.1.130.Final.jar -- lib/io.netty-netty-codec-dns-4.1.130.Final.jar -- lib/io.netty-netty-codec-http-4.1.130.Final.jar -- lib/io.netty-netty-codec-http2-4.1.130.Final.jar -- lib/io.netty-netty-codec-socks-4.1.130.Final.jar -- lib/io.netty-netty-common-4.1.130.Final.jar -- lib/io.netty-netty-handler-4.1.130.Final.jar -- lib/io.netty-netty-handler-proxy-4.1.130.Final.jar -- lib/io.netty-netty-resolver-4.1.130.Final.jar -- lib/io.netty-netty-resolver-dns-4.1.130.Final.jar -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final.jar -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-windows-x86_64.jar [11] -- lib/io.netty-netty-tcnative-classes-2.0.74.Final.jar -- lib/io.netty-netty-transport-4.1.130.Final.jar -- lib/io.netty-netty-transport-classes-epoll-4.1.130.Final.jar -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-aarch_64.jar -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-x86_64.jar -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-x86_64.jar -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-aarch_64.jar -- lib/io.netty-netty-transport-native-unix-common-4.1.130.Final.jar +- lib/io.netty-netty-buffer-4.2.12.Final.jar +- lib/io.netty-netty-codec-base-4.2.12.Final.jar +- lib/io.netty-netty-codec-compression-4.2.12.Final.jar +- lib/io.netty-netty-codec-dns-4.2.12.Final.jar +- lib/io.netty-netty-codec-http-4.2.12.Final.jar +- lib/io.netty-netty-codec-http2-4.2.12.Final.jar +- lib/io.netty-netty-codec-socks-4.2.12.Final.jar +- lib/io.netty-netty-common-4.2.12.Final.jar +- lib/io.netty-netty-handler-4.2.12.Final.jar +- lib/io.netty-netty-handler-proxy-4.2.12.Final.jar +- lib/io.netty-netty-resolver-4.2.12.Final.jar +- lib/io.netty-netty-resolver-dns-4.2.12.Final.jar +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final.jar +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-windows-x86_64.jar [11] +- lib/io.netty-netty-tcnative-classes-2.0.75.Final.jar +- lib/io.netty-netty-transport-4.2.12.Final.jar +- lib/io.netty-netty-transport-classes-epoll-4.2.12.Final.jar +- lib/io.netty-netty-transport-classes-io_uring-4.2.12.Final.jar +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-aarch_64.jar +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-x86_64.jar +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-x86_64.jar +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-aarch_64.jar +- lib/io.netty-netty-transport-native-unix-common-4.2.12.Final.jar The Netty Project diff --git a/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt b/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt index 3370e8e6ff7..60ce46779e3 100644 --- a/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt +++ b/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt @@ -5,25 +5,26 @@ This product includes software developed at The Apache Software Foundation (http://www.apache.org/). ------------------------------------------------------------------------------------ -- lib/io.netty-netty-buffer-4.1.130.Final.jar -- lib/io.netty-netty-codec-4.1.130.Final.jar -- lib/io.netty-netty-common-4.1.130.Final.jar -- lib/io.netty-netty-handler-4.1.130.Final.jar -- lib/io.netty-netty-resolver-4.1.130.Final.jar -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final.jar -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-windows-x86_64.jar [11] -- lib/io.netty-netty-tcnative-classes-2.0.74.Final.jar -- lib/io.netty-netty-transport-4.1.130.Final.jar -- lib/io.netty-netty-transport-classes-epoll-4.1.130.Final.jar -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-aarch_64.jar -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-x86_64.jar -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-x86_64.jar -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-aarch_64.jar -- lib/io.netty-netty-transport-native-unix-common-4.1.130.Final.jar +- lib/io.netty-netty-buffer-4.2.12.Final.jar +- lib/io.netty-netty-codec-base-4.2.12.Final.jar +- lib/io.netty-netty-common-4.2.12.Final.jar +- lib/io.netty-netty-handler-4.2.12.Final.jar +- lib/io.netty-netty-resolver-4.2.12.Final.jar +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final.jar +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-windows-x86_64.jar [11] +- lib/io.netty-netty-tcnative-classes-2.0.75.Final.jar +- lib/io.netty-netty-transport-4.2.12.Final.jar +- lib/io.netty-netty-transport-classes-epoll-4.2.12.Final.jar +- lib/io.netty-netty-transport-classes-io_uring-4.2.12.Final.jar +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-aarch_64.jar +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-x86_64.jar +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-x86_64.jar +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-aarch_64.jar +- lib/io.netty-netty-transport-native-unix-common-4.2.12.Final.jar The Netty Project diff --git a/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt b/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt index 9bc566af3de..bfbf9dd04e1 100644 --- a/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt +++ b/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt @@ -5,31 +5,33 @@ This product includes software developed at The Apache Software Foundation (http://www.apache.org/). ------------------------------------------------------------------------------------ -- lib/io.netty-netty-buffer-4.1.130.Final.jar -- lib/io.netty-netty-codec-4.1.130.Final.jar -- lib/io.netty-netty-codec-dns-4.1.130.Final.jar -- lib/io.netty-netty-codec-http-4.1.130.Final.jar -- lib/io.netty-netty-codec-http2-4.1.130.Final.jar -- lib/io.netty-netty-codec-socks-4.1.130.Final.jar -- lib/io.netty-netty-common-4.1.130.Final.jar -- lib/io.netty-netty-handler-4.1.130.Final.jar -- lib/io.netty-netty-handler-proxy-4.1.130.Final.jar -- lib/io.netty-netty-resolver-4.1.130.Final.jar -- lib/io.netty-netty-resolver-dns-4.1.130.Final.jar -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final.jar -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-linux-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-aarch_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-osx-x86_64.jar [11] -- lib/io.netty-netty-tcnative-boringssl-static-2.0.74.Final-windows-x86_64.jar [11] -- lib/io.netty-netty-tcnative-classes-2.0.74.Final.jar -- lib/io.netty-netty-transport-4.1.130.Final.jar -- lib/io.netty-netty-transport-classes-epoll-4.1.130.Final.jar -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-aarch_64.jar -- lib/io.netty-netty-transport-native-epoll-4.1.130.Final-linux-x86_64.jar -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-x86_64.jar -- lib/io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.26.Final-linux-aarch_64.jar -- lib/io.netty-netty-transport-native-unix-common-4.1.130.Final.jar +- lib/io.netty-netty-buffer-4.2.12.Final.jar +- lib/io.netty-netty-codec-base-4.2.12.Final.jar +- lib/io.netty-netty-codec-compression-4.2.12.Final.jar +- lib/io.netty-netty-codec-dns-4.2.12.Final.jar +- lib/io.netty-netty-codec-http-4.2.12.Final.jar +- lib/io.netty-netty-codec-http2-4.2.12.Final.jar +- lib/io.netty-netty-codec-socks-4.2.12.Final.jar +- lib/io.netty-netty-common-4.2.12.Final.jar +- lib/io.netty-netty-handler-4.2.12.Final.jar +- lib/io.netty-netty-handler-proxy-4.2.12.Final.jar +- lib/io.netty-netty-resolver-4.2.12.Final.jar +- lib/io.netty-netty-resolver-dns-4.2.12.Final.jar +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final.jar +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-linux-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-aarch_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-osx-x86_64.jar [11] +- lib/io.netty-netty-tcnative-boringssl-static-2.0.75.Final-windows-x86_64.jar [11] +- lib/io.netty-netty-tcnative-classes-2.0.75.Final.jar +- lib/io.netty-netty-transport-4.2.12.Final.jar +- lib/io.netty-netty-transport-classes-epoll-4.2.12.Final.jar +- lib/io.netty-netty-transport-classes-io_uring-4.2.12.Final.jar +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-aarch_64.jar +- lib/io.netty-netty-transport-native-epoll-4.2.12.Final-linux-x86_64.jar +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-x86_64.jar +- lib/io.netty-netty-transport-native-io_uring-4.2.12.Final-linux-aarch_64.jar +- lib/io.netty-netty-transport-native-unix-common-4.2.12.Final.jar The Netty Project diff --git a/bookkeeper-server/pom.xml b/bookkeeper-server/pom.xml index 3f5de43b1a6..da482b9c5ab 100644 --- a/bookkeeper-server/pom.xml +++ b/bookkeeper-server/pom.xml @@ -78,6 +78,10 @@ io.netty netty-handler + + io.netty + netty-transport-classes-epoll + io.netty netty-transport-native-epoll diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java index 98fe6c613ff..e3e68c2d744 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java @@ -51,8 +51,7 @@ import io.netty.handler.codec.LengthFieldBasedFrameDecoder; import io.netty.handler.flush.FlushConsolidationHandler; import io.netty.handler.ssl.SslHandler; -import io.netty.incubator.channel.uring.IOUringEventLoopGroup; -import io.netty.incubator.channel.uring.IOUringServerSocketChannel; +import io.netty.channel.uring.IoUringServerSocketChannel; import io.netty.util.concurrent.DefaultThreadFactory; import java.io.IOException; import java.net.InetSocketAddress; @@ -324,8 +323,8 @@ private void listenOn(InetSocketAddress address, BookieSocketAddress bookieAddre bootstrap.childOption(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark( conf.getServerWriteBufferLowWaterMark(), conf.getServerWriteBufferHighWaterMark())); - if (eventLoopGroup instanceof IOUringEventLoopGroup){ - bootstrap.channel(IOUringServerSocketChannel.class); + if (EventLoopUtil.isIoUringGroup(eventLoopGroup)) { + bootstrap.channel(IoUringServerSocketChannel.class); } else if (eventLoopGroup instanceof EpollEventLoopGroup) { bootstrap.channel(EpollServerSocketChannel.class); } else { @@ -394,8 +393,8 @@ protected void initChannel(SocketChannel ch) throws Exception { if (jvmEventLoopGroup instanceof DefaultEventLoopGroup) { jvmBootstrap.channel(LocalServerChannel.class); - } else if (jvmEventLoopGroup instanceof IOUringEventLoopGroup) { - jvmBootstrap.channel(IOUringServerSocketChannel.class); + } else if (EventLoopUtil.isIoUringGroup(jvmEventLoopGroup)) { + jvmBootstrap.channel(IoUringServerSocketChannel.class); } else if (jvmEventLoopGroup instanceof EpollEventLoopGroup) { jvmBootstrap.channel(EpollServerSocketChannel.class); } else { diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java index 892306797eb..f3bfb71ebcc 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java @@ -52,9 +52,8 @@ import io.netty.handler.codec.TooLongFrameException; import io.netty.handler.flush.FlushConsolidationHandler; import io.netty.handler.ssl.SslHandler; -import io.netty.incubator.channel.uring.IOUringChannelOption; -import io.netty.incubator.channel.uring.IOUringEventLoopGroup; -import io.netty.incubator.channel.uring.IOUringSocketChannel; +import io.netty.channel.uring.IoUringChannelOption; +import io.netty.channel.uring.IoUringSocketChannel; import io.netty.util.Recycler; import io.netty.util.Recycler.Handle; import io.netty.util.ReferenceCounted; @@ -128,6 +127,7 @@ import org.apache.bookkeeper.tls.SecurityHandlerFactory; import org.apache.bookkeeper.tls.SecurityHandlerFactory.NodeType; import org.apache.bookkeeper.util.ByteBufList; +import org.apache.bookkeeper.util.EventLoopUtil; import org.apache.bookkeeper.util.StringUtils; import org.apache.bookkeeper.util.collections.ConcurrentOpenHashMap; import org.apache.bookkeeper.util.collections.SynchronizedHashMultiMap; @@ -532,10 +532,10 @@ protected ChannelFuture connect() { // Set up the ClientBootStrap so we can create a new Channel connection to the bookie. Bootstrap bootstrap = new Bootstrap(); bootstrap.group(eventLoopGroup); - if (eventLoopGroup instanceof IOUringEventLoopGroup) { - bootstrap.channel(IOUringSocketChannel.class); + if (EventLoopUtil.isIoUringGroup(eventLoopGroup)) { + bootstrap.channel(IoUringSocketChannel.class); try { - bootstrap.option(IOUringChannelOption.TCP_USER_TIMEOUT, conf.getTcpUserTimeoutMillis()); + bootstrap.option(IoUringChannelOption.TCP_USER_TIMEOUT, conf.getTcpUserTimeoutMillis()); } catch (NoSuchElementException e) { // Property not set, so keeping default value. } diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/EventLoopUtil.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/EventLoopUtil.java index 3937454957a..6e960eeb6e1 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/EventLoopUtil.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/EventLoopUtil.java @@ -18,11 +18,12 @@ package org.apache.bookkeeper.util; import io.netty.channel.EventLoopGroup; +import io.netty.channel.MultiThreadIoEventLoopGroup; import io.netty.channel.SelectStrategy; import io.netty.channel.epoll.EpollEventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; -import io.netty.incubator.channel.uring.IOUring; -import io.netty.incubator.channel.uring.IOUringEventLoopGroup; +import io.netty.channel.uring.IoUring; +import io.netty.channel.uring.IoUringIoHandler; import java.util.concurrent.ThreadFactory; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; @@ -65,9 +66,9 @@ private static EventLoopGroup getEventLoopGroup(ThreadFactory threadFactory, // By default, io_uring will not be enabled, even if available. The environment variable will be used: // enable.io_uring=1 if (StringUtils.equalsAnyIgnoreCase(enableIoUring, "1", "true")) { - // Throw exception if IOUring cannot be used - IOUring.ensureAvailability(); - return new IOUringEventLoopGroup(numThreads, threadFactory); + // Throw exception if io_uring cannot be used + IoUring.ensureAvailability(); + return new MultiThreadIoEventLoopGroup(numThreads, threadFactory, IoUringIoHandler.newFactory()); } else { try { if (!enableBusyWait) { @@ -99,4 +100,9 @@ private static EventLoopGroup getEventLoopGroup(ThreadFactory threadFactory, } } } + + public static boolean isIoUringGroup(EventLoopGroup group) { + return group instanceof MultiThreadIoEventLoopGroup + && ((MultiThreadIoEventLoopGroup) group).isIoType(IoUringIoHandler.class); + } } diff --git a/pom.xml b/pom.xml index 8815ed0e768..4b445ab484a 100644 --- a/pom.xml +++ b/pom.xml @@ -180,8 +180,7 @@ 2.23.1 1.10.2 4.11.0 - 4.1.130.Final - 0.0.26.Final + 4.2.12.Final 0.15.0 0.8.3 4.5.13 @@ -426,28 +425,6 @@ pom import - - io.netty.incubator - netty-incubator-transport-native-io_uring - ${netty-iouring.version} - - - io.netty.incubator - netty-incubator-transport-native-io_uring - ${netty-iouring.version} - linux-x86_64 - - - io.netty.incubator - netty-incubator-transport-native-io_uring - ${netty-iouring.version} - linux-aarch_64 - - - io.netty.incubator - netty-incubator-transport-classes-io_uring - ${netty-iouring.version} - From 61910d74f92c64a54363c812d9de617f69123ce4 Mon Sep 17 00:00:00 2001 From: Matteo Merli Date: Tue, 14 Apr 2026 13:59:53 -0700 Subject: [PATCH 2/3] Fix import order for io.netty.channel.uring imports --- .../java/org/apache/bookkeeper/proto/BookieNettyServer.java | 2 +- .../org/apache/bookkeeper/proto/PerChannelBookieClient.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java index e3e68c2d744..0bd8e9a1795 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieNettyServer.java @@ -48,10 +48,10 @@ import io.netty.channel.local.LocalServerChannel; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; +import io.netty.channel.uring.IoUringServerSocketChannel; import io.netty.handler.codec.LengthFieldBasedFrameDecoder; import io.netty.handler.flush.FlushConsolidationHandler; import io.netty.handler.ssl.SslHandler; -import io.netty.channel.uring.IoUringServerSocketChannel; import io.netty.util.concurrent.DefaultThreadFactory; import java.io.IOException; import java.net.InetSocketAddress; diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java index f3bfb71ebcc..75f6f5bb717 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java @@ -46,14 +46,14 @@ import io.netty.channel.local.LocalChannel; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.channel.unix.Errors.NativeIoException; +import io.netty.channel.uring.IoUringChannelOption; +import io.netty.channel.uring.IoUringSocketChannel; import io.netty.handler.codec.CorruptedFrameException; import io.netty.handler.codec.DecoderException; import io.netty.handler.codec.LengthFieldBasedFrameDecoder; import io.netty.handler.codec.TooLongFrameException; import io.netty.handler.flush.FlushConsolidationHandler; import io.netty.handler.ssl.SslHandler; -import io.netty.channel.uring.IoUringChannelOption; -import io.netty.channel.uring.IoUringSocketChannel; import io.netty.util.Recycler; import io.netty.util.Recycler.Handle; import io.netty.util.ReferenceCounted; From 25e82d7d2021057f5fea88139426e44849c2712c Mon Sep 17 00:00:00 2001 From: Matteo Merli Date: Fri, 17 Apr 2026 09:40:50 -0700 Subject: [PATCH 3/3] Fix TLS and encoding test regressions from Netty 4.2 TLSContextFactory: Netty 4.2 enables HTTPS endpoint identification on the client side by default (previously null). Explicitly set the algorithm based on the getHostnameVerificationEnabled() config so that disabling hostname verification actually disables it under 4.2. BookieProtoEncodingTest: the V2 batch read request/response tests compared fields on the pre-encoded object against the decoded one. encode() recycles the request (clearing ledgerId etc. to -1); in Netty 4.2 the Recycler returns a fresh object on the next get(), so the comparison failed. Capture the expected values before encode. --- .../bookkeeper/tls/TLSContextFactory.java | 11 +++++--- .../proto/BookieProtoEncodingTest.java | 26 +++++++++++++------ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java index 7570436b952..1ba2581f101 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java @@ -541,12 +541,17 @@ public SslHandler newTLSHandler(String peer, int port) { log.debug("Enabled cipher suites: {} ", Arrays.toString(sslHandler.engine().getEnabledCipherSuites())); } - if (type == NodeType.Client && ((ClientConfiguration) config).getHostnameVerificationEnabled()) { + if (type == NodeType.Client) { + // Netty 4.2 enables HTTPS endpoint identification by default on the client side. Honor the + // BookKeeper configuration by explicitly setting the algorithm (or clearing it when disabled). SSLParameters sslParameters = sslHandler.engine().getSSLParameters(); - sslParameters.setEndpointIdentificationAlgorithm("HTTPS"); + boolean hostnameVerificationEnabled = + ((ClientConfiguration) config).getHostnameVerificationEnabled(); + sslParameters.setEndpointIdentificationAlgorithm(hostnameVerificationEnabled ? "HTTPS" : null); sslHandler.engine().setSSLParameters(sslParameters); if (log.isDebugEnabled()) { - log.debug("Enabled endpointIdentificationAlgorithm: HTTPS"); + log.debug("endpointIdentificationAlgorithm: {}", + hostnameVerificationEnabled ? "HTTPS" : "disabled"); } } diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/BookieProtoEncodingTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/BookieProtoEncodingTest.java index 4f719ddfc08..ba75e4b75a6 100644 --- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/BookieProtoEncodingTest.java +++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/BookieProtoEncodingTest.java @@ -138,13 +138,18 @@ public void testV2BatchReadRequest() throws Exception { RequestEnDeCoderPreV3 v2ReqEncoder = new RequestEnDeCoderPreV3(registry); BookieProtocol.BatchedReadRequest req = BookieProtocol.BatchedReadRequest.create( BookieProtocol.CURRENT_PROTOCOL_VERSION, 1L, 1L, FLAG_NONE, null, 1L, 10, 1024L); + // Capture expected values before encode() recycles the request. + long expectedLedgerId = req.ledgerId; + long expectedEntryId = req.entryId; + long expectedMaxSize = req.maxSize; + int expectedMaxCount = req.maxCount; ByteBuf buf = (ByteBuf) v2ReqEncoder.encode(req, UnpooledByteBufAllocator.DEFAULT); buf.readInt(); // Skip the frame size. BookieProtocol.BatchedReadRequest reqDecoded = (BookieProtocol.BatchedReadRequest) v2ReqEncoder.decode(buf); - assertEquals(req.ledgerId, reqDecoded.ledgerId); - assertEquals(req.entryId, reqDecoded.entryId); - assertEquals(req.maxSize, reqDecoded.maxSize); - assertEquals(req.maxCount, reqDecoded.maxCount); + assertEquals(expectedLedgerId, reqDecoded.ledgerId); + assertEquals(expectedEntryId, reqDecoded.entryId); + assertEquals(expectedMaxSize, reqDecoded.maxSize); + assertEquals(expectedMaxCount, reqDecoded.maxCount); reqDecoded.recycle(); } @@ -156,13 +161,18 @@ public void testV2BatchReadResponse() throws Exception { ByteBufList data = ByteBufList.get(first, second); BookieProtocol.BatchedReadResponse res = new BookieProtocol.BatchedReadResponse( BookieProtocol.CURRENT_PROTOCOL_VERSION, 1, 1L, 1L, 1L, data); + // Capture expected values before encode() releases the underlying data. + long expectedLedgerId = res.ledgerId; + long expectedEntryId = res.entryId; + int expectedDataSize = res.getData().size(); + int expectedReadableBytes = res.getData().readableBytes(); ByteBuf buf = (ByteBuf) v2ReqEncoder.encode(res, UnpooledByteBufAllocator.DEFAULT); buf.readInt(); // Skip the frame size. BookieProtocol.BatchedReadResponse resDecoded = (BookieProtocol.BatchedReadResponse) v2ReqEncoder.decode(buf); - assertEquals(res.ledgerId, resDecoded.ledgerId); - assertEquals(res.entryId, resDecoded.entryId); - assertEquals(res.getData().size(), resDecoded.getData().size()); - assertEquals(res.getData().readableBytes(), resDecoded.getData().readableBytes()); + assertEquals(expectedLedgerId, resDecoded.ledgerId); + assertEquals(expectedEntryId, resDecoded.entryId); + assertEquals(expectedDataSize, resDecoded.getData().size()); + assertEquals(expectedReadableBytes, resDecoded.getData().readableBytes()); } }