You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zh...@apache.org on 2020/10/30 12:03:48 UTC

[pulsar] branch master updated: Upgrade Apache BookKeeper Client to 4.11.1 (#8270)

This is an automated email from the ASF dual-hosted git repository.

zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 465964b  Upgrade Apache BookKeeper Client to 4.11.1 (#8270)
465964b is described below

commit 465964bee4444516921b7d2067256676942ae55a
Author: Enrico Olivelli <eo...@gmail.com>
AuthorDate: Fri Oct 30 13:03:28 2020 +0100

    Upgrade Apache BookKeeper Client to 4.11.1 (#8270)
    
    Motivation
    Upgrade Apache BookKeeper client to version 4.11.1 and RocksDB to 6.10.2 (needed by Bookie)
    
    Modifications
    Upgrade Apache BookKeeper client, fix a few build errors, due to the introduction of BookieServiceInfo structure (see BP-38).
    
    Verifying this change
    This change is already covered by existing tests
    
    * Upgrade Apache BookKeeper to 4.11.1
    
    * fix build
    
    * fix LICENSE files
    
    * Use BK 4.11.1
    
    * Upgrade RocksDB to 6.10.2
    
    * Fix license and upgrade maven assembly plugin
    
    * update license
    
    * restore bouncy castle license
    
    * fix licenses
    
    * Exclude BouncyCastle inherited from BK
    
    Co-authored-by: Enrico Olivelli <en...@diennea.com>
    Co-authored-by: Enrico Olivelli <eo...@apache.org>
---
 distribution/io/pom.xml                            |  1 +
 distribution/offloaders/pom.xml                    |  1 +
 .../server/licenses/LICENSE-bouncycastle.txt       | 20 ++------
 distribution/server/pom.xml                        |  1 +
 distribution/server/src/assemble/LICENSE.bin.txt   | 58 ++++++++++++----------
 .../bookkeeper/test/BookKeeperClusterTestCase.java |  4 +-
 pom.xml                                            | 12 ++++-
 .../org/apache/pulsar/PulsarBrokerStarter.java     |  3 +-
 .../pulsar/broker/service/RackAwareTest.java       |  3 +-
 .../broker/transaction/TransactionTestBase.java    |  1 -
 pulsar-functions/runtime-all/pom.xml               |  1 +
 pulsar-sql/presto-distribution/LICENSE             | 47 +++++++++---------
 pulsar-sql/presto-distribution/pom.xml             | 32 ++++++++++++
 pulsar-sql/presto-pulsar-plugin/pom.xml            |  1 +
 .../pulsar/zookeeper/LocalBookkeeperEnsemble.java  |  9 ++--
 src/check-binary-license                           |  2 +-
 16 files changed, 118 insertions(+), 78 deletions(-)

diff --git a/distribution/io/pom.xml b/distribution/io/pom.xml
index 13b96d2..8e061adc 100644
--- a/distribution/io/pom.xml
+++ b/distribution/io/pom.xml
@@ -51,6 +51,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.3.0</version>
         <executions>
           <execution>
             <id>distro-assembly</id>
diff --git a/distribution/offloaders/pom.xml b/distribution/offloaders/pom.xml
index 1a12683..4aed9c1 100644
--- a/distribution/offloaders/pom.xml
+++ b/distribution/offloaders/pom.xml
@@ -45,6 +45,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.3.0</version>
         <executions>
           <execution>
             <id>distro-assembly</id>
diff --git a/distribution/server/licenses/LICENSE-bouncycastle.txt b/distribution/server/licenses/LICENSE-bouncycastle.txt
index 6f1dedf..10a3dd4 100644
--- a/distribution/server/licenses/LICENSE-bouncycastle.txt
+++ b/distribution/server/licenses/LICENSE-bouncycastle.txt
@@ -1,19 +1,7 @@
-The Bouncy Castle License
+Copyright (c) 2000 - 2020 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)
 
-Copyright (c) 2000-2015 The Legion Of The Bouncy Castle Inc. (http://www.bouncycastle.org)
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
-and associated documentation files (the "Software"), to deal in the Software without restriction, 
-including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 
-The above copyright notice and this permission notice shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/distribution/server/pom.xml b/distribution/server/pom.xml
index 66af231..71c0e27 100644
--- a/distribution/server/pom.xml
+++ b/distribution/server/pom.xml
@@ -241,6 +241,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.3.0</version>
         <executions>
           <execution>
             <id>distro-assembly</id>
diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
index fa6946e..b92caff 100644
--- a/distribution/server/src/assemble/LICENSE.bin.txt
+++ b/distribution/server/src/assemble/LICENSE.bin.txt
@@ -392,32 +392,35 @@ The Apache Software License, Version 2.0
     - org.apache.logging.log4j-log4j-web-2.10.0.jar
  * Java Native Access JNA -- net.java.dev.jna-jna-4.2.0.jar
  * BookKeeper
-    - org.apache.bookkeeper-bookkeeper-common-4.10.0.jar
-    - org.apache.bookkeeper-bookkeeper-common-allocator-4.10.0.jar
-    - org.apache.bookkeeper-bookkeeper-proto-4.10.0.jar
-    - org.apache.bookkeeper-bookkeeper-server-4.10.0.jar
-    - org.apache.bookkeeper-bookkeeper-tools-framework-4.10.0.jar
-    - org.apache.bookkeeper-circe-checksum-4.10.0.jar
-    - org.apache.bookkeeper-cpu-affinity-4.10.0.jar
-    - org.apache.bookkeeper-statelib-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-api-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-common-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-java-client-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-java-client-base-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-proto-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-server-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-service-api-4.10.0.jar
-    - org.apache.bookkeeper-stream-storage-service-impl-4.10.0.jar
-    - org.apache.bookkeeper.http-http-server-4.10.0.jar
-    - org.apache.bookkeeper.http-vertx-http-server-4.10.0.jar
-    - org.apache.bookkeeper.stats-bookkeeper-stats-api-4.10.0.jar
-    - org.apache.bookkeeper.stats-prometheus-metrics-provider-4.10.0.jar
-    - org.apache.bookkeeper.tests-stream-storage-tests-common-4.10.0.jar
-    - org.apache.distributedlog-distributedlog-common-4.10.0.jar
-    - org.apache.distributedlog-distributedlog-core-4.10.0-tests.jar
-    - org.apache.distributedlog-distributedlog-core-4.10.0.jar
-    - org.apache.distributedlog-distributedlog-protocol-4.10.0.jar
-    - org.apache.bookkeeper.stats-codahale-metrics-provider-4.10.0.jar
+    - org.apache.bookkeeper-bookkeeper-common-4.11.1.jar
+    - org.apache.bookkeeper-bookkeeper-common-allocator-4.11.1.jar
+    - org.apache.bookkeeper-bookkeeper-proto-4.11.1.jar
+    - org.apache.bookkeeper-bookkeeper-server-4.11.1.jar
+    - org.apache.bookkeeper-bookkeeper-tools-framework-4.11.1.jar
+    - org.apache.bookkeeper-circe-checksum-4.11.1.jar
+    - org.apache.bookkeeper-cpu-affinity-4.11.1.jar
+    - org.apache.bookkeeper-statelib-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-api-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-common-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-java-client-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-java-client-base-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-proto-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-server-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-service-api-4.11.1.jar
+    - org.apache.bookkeeper-stream-storage-service-impl-4.11.1.jar
+    - org.apache.bookkeeper.http-http-server-4.11.1.jar
+    - org.apache.bookkeeper.http-vertx-http-server-4.11.1.jar
+    - org.apache.bookkeeper.stats-bookkeeper-stats-api-4.11.1.jar
+    - org.apache.bookkeeper.stats-prometheus-metrics-provider-4.11.1.jar
+    - org.apache.bookkeeper.tests-stream-storage-tests-common-4.11.1.jar
+    - org.apache.distributedlog-distributedlog-common-4.11.1.jar
+    - org.apache.distributedlog-distributedlog-core-4.11.1-tests.jar
+    - org.apache.distributedlog-distributedlog-core-4.11.1.jar
+    - org.apache.distributedlog-distributedlog-protocol-4.11.1.jar
+    - org.apache.bookkeeper.stats-codahale-metrics-provider-4.11.1.jar
+  * Apache HTTP Client
+    - org.apache.httpcomponents-httpclient-4.5.5.jar
+    - org.apache.httpcomponents-httpcore-4.4.9.jar
  * AirCompressor
     - io.airlift-aircompressor-0.16.jar
  * AsyncHttpClient
@@ -442,8 +445,9 @@ The Apache Software License, Version 2.0
     - org.eclipse.jetty.websocket-websocket-server-9.4.31.v20200723.jar
     - org.eclipse.jetty.websocket-websocket-servlet-9.4.31.v20200723.jar
  * SnakeYaml -- org.yaml-snakeyaml-1.26.jar
- * RocksDB - org.rocksdb-rocksdbjni-5.13.3.jar
+ * RocksDB - org.rocksdb-rocksdbjni-6.10.2.jar
  * Google Error Prone Annotations - com.google.errorprone-error_prone_annotations-2.1.3.jar
+ * Apache Thrifth - org.apache.thrift-libthrift-0.12.0.jar
  * OkHttp
     - com.squareup.okhttp-okhttp-2.5.0.jar
  * Okio - com.squareup.okio-okio-1.13.0.jar
diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java b/managed-ledger/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
index f030eae..7b05faa 100644
--- a/managed-ledger/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
+++ b/managed-ledger/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
@@ -38,6 +38,7 @@ import java.util.Map.Entry;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.function.Supplier;
 import org.apache.bookkeeper.bookie.Bookie;
 import org.apache.bookkeeper.bookie.BookieException;
 import org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage;
@@ -46,6 +47,7 @@ import org.apache.bookkeeper.common.allocator.PoolingPolicy;
 import org.apache.bookkeeper.conf.AbstractConfiguration;
 import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.discover.BookieServiceInfo;
 import org.apache.bookkeeper.metastore.InMemoryMetaStore;
 import org.apache.bookkeeper.net.BookieSocketAddress;
 import org.apache.bookkeeper.proto.BookieServer;
@@ -469,7 +471,7 @@ public abstract class BookKeeperClusterTestCase {
     protected BookieServer startBookie(ServerConfiguration conf, final Bookie b) throws Exception {
         BookieServer server = new BookieServer(conf) {
             @Override
-            protected Bookie newBookie(ServerConfiguration conf, ByteBufAllocator allocator)
+            protected Bookie newBookie(ServerConfiguration conf, ByteBufAllocator allocator, Supplier<BookieServiceInfo> bookieServiceInfoProvider)
                     throws IOException, KeeperException, InterruptedException, BookieException {
                 return b;
             }
diff --git a/pom.xml b/pom.xml
index d38d05c..43d488c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,7 +98,7 @@ flexible messaging model and an intuitive client API.</description>
     <!-- apache commons -->
     <commons-compress.version>1.19</commons-compress.version>
 
-    <bookkeeper.version>4.10.0</bookkeeper.version>
+    <bookkeeper.version>4.11.1</bookkeeper.version>
     <zookeeper.version>3.5.7</zookeeper.version>
     <netty.version>4.1.51.Final</netty.version>
     <netty-tc-native.version>2.0.30.Final</netty-tc-native.version>
@@ -109,7 +109,7 @@ flexible messaging model and an intuitive client API.</description>
     <prometheus.version>0.5.0</prometheus.version>
     <aspectj.version>1.9.2</aspectj.version>
     <vertx.version>3.5.3</vertx.version>
-    <rocksdb.version>5.13.3</rocksdb.version>
+    <rocksdb.version>6.10.2</rocksdb.version>
     <slf4j.version>1.7.25</slf4j.version>
     <commons.collections.version>3.2.2</commons.collections.version>
     <log4j2.version>2.10.0</log4j2.version>
@@ -300,6 +300,10 @@ flexible messaging model and an intuitive client API.</description>
         <version>${bookkeeper.version}</version>
         <exclusions>
           <exclusion>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>*</artifactId>
+          </exclusion>
+          <exclusion>
             <artifactId>slf4j-log4j12</artifactId>
             <groupId>org.slf4j</groupId>
           </exclusion>
@@ -1033,6 +1037,10 @@ flexible messaging model and an intuitive client API.</description>
       <classifier>tests</classifier>
       <exclusions>
         <exclusion>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>*</artifactId>
+        </exclusion>
+        <exclusion>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-log4j12</artifactId>
         </exclusion>
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java
index 165b616..3d728266f 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java
@@ -44,6 +44,7 @@ import org.apache.bookkeeper.proto.BookieServer;
 import org.apache.bookkeeper.replication.AutoRecoveryMain;
 import org.apache.bookkeeper.stats.StatsProvider;
 import org.apache.bookkeeper.common.util.ReflectionUtils;
+import org.apache.bookkeeper.discover.BookieServiceInfo;
 import org.apache.bookkeeper.util.DirectMemoryUtils;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.pulsar.broker.PulsarServerException;
@@ -248,7 +249,7 @@ public class PulsarBrokerStarter {
             if (starterArguments.runBookie) {
                 checkNotNull(bookieConfig, "No ServerConfiguration for Bookie");
                 checkNotNull(bookieStatsProvider, "No Stats Provider for Bookie");
-                bookieServer = new BookieServer(bookieConfig, bookieStatsProvider.getStatsLogger(""));
+                bookieServer = new BookieServer(bookieConfig, bookieStatsProvider.getStatsLogger(""), BookieServiceInfo.NO_INFO);
             } else {
                 bookieServer = null;
             }
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java
index bcca644a..026afc2 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java
@@ -29,6 +29,7 @@ import org.apache.bookkeeper.client.BookKeeper;
 import org.apache.bookkeeper.client.BookKeeper.DigestType;
 import org.apache.bookkeeper.client.LedgerHandle;
 import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.discover.BookieServiceInfo;
 import org.apache.bookkeeper.net.BookieSocketAddress;
 import org.apache.bookkeeper.proto.BookieServer;
 import org.apache.bookkeeper.stats.NullStatsLogger;
@@ -70,7 +71,7 @@ public class RackAwareTest extends BkEnsemblesTestBase {
             String addr = String.format("10.0.0.%d", i + 1);
             conf.setAdvertisedAddress(addr);
 
-            BookieServer bs = new BookieServer(conf, NullStatsLogger.INSTANCE);
+            BookieServer bs = new BookieServer(conf, NullStatsLogger.INSTANCE, BookieServiceInfo.NO_INFO);
 
             bs.start();
             bookies.add(bs);
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/TransactionTestBase.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/TransactionTestBase.java
index 18f07ea..e9e189b 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/TransactionTestBase.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/TransactionTestBase.java
@@ -40,7 +40,6 @@ import org.apache.bookkeeper.client.BookKeeper;
 import org.apache.bookkeeper.client.EnsemblePlacementPolicy;
 import org.apache.bookkeeper.client.PulsarMockBookKeeper;
 import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.bookkeeper.test.PortManager;
 import org.apache.bookkeeper.util.ZkUtils;
 import org.apache.pulsar.broker.BookKeeperClientFactory;
 import org.apache.pulsar.broker.PulsarService;
diff --git a/pulsar-functions/runtime-all/pom.xml b/pulsar-functions/runtime-all/pom.xml
index 32db1f8..a06fa00 100644
--- a/pulsar-functions/runtime-all/pom.xml
+++ b/pulsar-functions/runtime-all/pom.xml
@@ -80,6 +80,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.3.0</version>
         <configuration>
           <!-- get all project dependencies -->
           <descriptorRefs>
diff --git a/pulsar-sql/presto-distribution/LICENSE b/pulsar-sql/presto-distribution/LICENSE
index 4ce6e3b..bb6e203 100644
--- a/pulsar-sql/presto-distribution/LICENSE
+++ b/pulsar-sql/presto-distribution/LICENSE
@@ -242,7 +242,6 @@ The Apache Software License, Version 2.0
     - netty-resolver-dns-4.1.51.Final.jar
     - netty-tcnative-boringssl-static-2.0.30.Final.jar
     - netty-transport-4.1.51.Final.jar
-    - netty-transport-native-epoll-4.1.51.Final.jar
     - netty-transport-native-epoll-4.1.51.Final-linux-x86_64.jar
     - netty-transport-native-unix-common-4.1.51.Final.jar
     - netty-transport-native-unix-common-4.1.51.Final-linux-x86_64.jar
@@ -301,6 +300,9 @@ The Apache Software License, Version 2.0
     - stats-0.195.jar
     - trace-token-0.195.jar
     - units-1.6.jar
+   * Apache HTTP Client
+    - httpclient-4.5.5.jar
+    - httpcore-4.4.9.jar
   * Error Prone Annotations
     - error_prone_annotations-2.1.3.jar
   * Esri Geometry API For Java
@@ -383,7 +385,7 @@ The Apache Software License, Version 2.0
     - presto-plugin-toolkit-332.jar
     - presto-spi-332.jar
   * RocksDB JNI
-    - rocksdbjni-5.13.3.jar
+    - rocksdbjni-6.10.2.jar
   * SnakeYAML
     - snakeyaml-1.26.jar
   * Bean Validation API
@@ -406,17 +408,17 @@ The Apache Software License, Version 2.0
     - async-http-client-2.12.1.jar
     - async-http-client-netty-utils-2.12.1.jar
   * Apache Bookkeeper
-    - bookkeeper-common-4.10.0.jar
-    - bookkeeper-common-allocator-4.10.0.jar
-    - bookkeeper-proto-4.10.0.jar
-    - bookkeeper-server-4.10.0.jar
-    - bookkeeper-stats-api-4.10.0.jar
-    - bookkeeper-tools-framework-4.10.0.jar
-    - circe-checksum-4.10.0.jar
-    - codahale-metrics-provider-4.10.0.jar
-    - cpu-affinity-4.10.0.jar
-    - http-server-4.10.0.jar
-    - prometheus-metrics-provider-4.10.0.jar
+    - bookkeeper-common-4.11.1.jar
+    - bookkeeper-common-allocator-4.11.1.jar
+    - bookkeeper-proto-4.11.1.jar
+    - bookkeeper-server-4.11.1.jar
+    - bookkeeper-stats-api-4.11.1.jar
+    - bookkeeper-tools-framework-4.11.1.jar
+    - circe-checksum-4.11.1.jar
+    - codahale-metrics-provider-4.11.1.jar
+    - cpu-affinity-4.11.1.jar
+    - http-server-4.11.1.jar
+    - prometheus-metrics-provider-4.11.1.jar
   * Apache Commons
     - commons-cli-1.2.jar
     - commons-codec-1.10.jar
@@ -424,7 +426,7 @@ The Apache Software License, Version 2.0
     - commons-configuration-1.10.jar
     - commons-io-2.5.jar
     - commons-lang-2.6.jar
-    - commons-logging-1.1.1.jar
+    - commons-logging-1.2.jar
   * GSON
     - gson-2.8.2.jar
   * Jackson
@@ -506,13 +508,11 @@ CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt
    - javax.activation-1.2.0.jar
    - javax.activation-api-1.2.0.jar
    - jakarta.activation-api-1.2.1.jar
-   - jakarta.validation-api-2.0.2.jar
-   - jakarta.ws.rs-api-2.1.6.jar
  * HK2 - Dependency Injection Kernel
    - hk2-api-2.6.1.jar
    - hk2-locator-2.6.1.jar
    - hk2-utils-2.6.1.jar
-   - jakarta.inject-2.6.1.jar 
+   - aopalliance-repackaged-2.6.1.jar
  * Jersey
     - jaxrs-0.195.jar
     - jersey-client-2.31.jar
@@ -523,11 +523,8 @@ CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt
     - jersey-server-2.31.jar
     - jersey-common-2.31.jar
     - jersey-entity-filtering-2.31.jar
-    - jersey-hk2-2.31.jar
     - jersey-media-json-jackson-2.31.jar
     - jersey-media-multipart-2.31.jar
-    - aopalliance-repackaged-2.6.1.jar
-
  * JAXB
     - jaxb-api-2.3.1.jar
 
@@ -552,6 +549,9 @@ CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt
 
 Eclipse Public License - v2.0 -- licenses/LICENSE-EPL-2.0.txt
  * jakarta.annotation-api-1.3.5.jar
+ * jakarta.inject-2.6.1.jar
+ * jakarta.validation-api-2.0.2.jar
+ * jakarta.ws.rs-api-2.1.6.jar
 
 Public Domain (CC0) -- licenses/LICENSE-CC0.txt
  * HdrHistogram
@@ -567,7 +567,6 @@ Creative Commons Attribution License
 
 Bouncy Castle License
  * Bouncy Castle -- licenses/LICENSE-bouncycastle.txt
-    - bcpkix-jdk15on-1.66.jar
-    - bcprov-ext-jdk15on-1.66.jar
-    - bcprov-jdk15on-1.66.jar
-    - bouncy-castle-bc-2.7.0-SNAPSHOT-pkg.jar
+-    - bcpkix-jdk15on-1.66.jar
+-    - bcprov-ext-jdk15on-1.66.jar
+-    - bcprov-jdk15on-1.66.jar
diff --git a/pulsar-sql/presto-distribution/pom.xml b/pulsar-sql/presto-distribution/pom.xml
index 8dc2bca..f585ea0 100644
--- a/pulsar-sql/presto-distribution/pom.xml
+++ b/pulsar-sql/presto-distribution/pom.xml
@@ -36,6 +36,7 @@
     <properties>
         <jersey.version>2.31</jersey.version>
         <presto.version>332</presto.version>
+        <jersey.version>2.31</jersey.version>
         <airlift.version>0.170</airlift.version>
         <objenesis.version>2.6</objenesis.version>
         <objectsize.version>0.0.12</objectsize.version>
@@ -79,6 +80,36 @@
             <version>${jersey.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-client</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-server</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
+
+        <dependency>
+           <groupId>org.glassfish.jersey.containers</groupId>
+           <artifactId>jersey-container-servlet-core</artifactId>
+           <version>${jersey.version}</version>
+        </dependency>
+
+        <dependency>
+           <groupId>org.glassfish.jersey.containers</groupId>
+           <artifactId>jersey-container-servlet</artifactId>
+           <version>${jersey.version}</version>
+       </dependency>
+
+        <dependency>
             <groupId>io.prestosql</groupId>
             <artifactId>presto-main</artifactId>
             <version>${presto.version}</version>
@@ -260,6 +291,7 @@
             </plugin>
             <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.3.0</version>
                 <configuration>
                     <appendAssemblyId>false</appendAssemblyId>
                     <attach>true</attach>
diff --git a/pulsar-sql/presto-pulsar-plugin/pom.xml b/pulsar-sql/presto-pulsar-plugin/pom.xml
index 417e822..b5027c8 100644
--- a/pulsar-sql/presto-pulsar-plugin/pom.xml
+++ b/pulsar-sql/presto-pulsar-plugin/pom.xml
@@ -56,6 +56,7 @@
             </plugin>
             <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.3.0</version>
                 <configuration>
                     <appendAssemblyId>false</appendAssemblyId>
                     <attach>true</attach>
diff --git a/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java b/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
index 4ddc9f8..925d5c6 100644
--- a/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
+++ b/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
@@ -55,6 +55,7 @@ import org.apache.bookkeeper.common.concurrent.FutureUtils;
 import org.apache.bookkeeper.common.util.Backoff;
 import org.apache.bookkeeper.common.util.Backoff.Jitter.Type;
 import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.discover.BookieServiceInfo;
 import org.apache.bookkeeper.proto.BookieServer;
 import org.apache.bookkeeper.server.conf.BookieConfiguration;
 import org.apache.bookkeeper.stats.NullStatsLogger;
@@ -298,7 +299,7 @@ public class LocalBookkeeperEnsemble {
             bsConfs[i].setAllowEphemeralPorts(true);
 
             try {
-                bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE);
+                bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE, BookieServiceInfo.NO_INFO);
             } catch (InvalidCookieException e) {
                 // InvalidCookieException can happen if the machine IP has changed
                 // Since we are running here a local bookie that is always accessed
@@ -311,7 +312,7 @@ public class LocalBookkeeperEnsemble {
                 new File(new File(bkDataDir, "current"), "VERSION").delete();
 
                 // Retry to start the bookie after cleaning the old left cookie
-                bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE);
+                bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE, BookieServiceInfo.NO_INFO);
             }
             bs[i].start();
             LOG.debug("Local BK[{}] started (port: {}, data_directory: {})", i, bookiePort,
@@ -445,7 +446,7 @@ public class LocalBookkeeperEnsemble {
 
     public void startBK(int i) throws Exception {
         try {
-            bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE);
+            bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE, BookieServiceInfo.NO_INFO);
         } catch (InvalidCookieException e) {
             // InvalidCookieException can happen if the machine IP has changed
             // Since we are running here a local bookie that is always accessed
@@ -458,7 +459,7 @@ public class LocalBookkeeperEnsemble {
             new File(new File(bsConfs[i].getJournalDirNames()[0], "current"), "VERSION").delete();
 
             // Retry to start the bookie after cleaning the old left cookie
-            bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE);
+            bs[i] = new BookieServer(bsConfs[i], NullStatsLogger.INSTANCE, BookieServiceInfo.NO_INFO);
 
         }
         bs[i].start();
diff --git a/src/check-binary-license b/src/check-binary-license
index 0d87791..c53f0cc 100755
--- a/src/check-binary-license
+++ b/src/check-binary-license
@@ -87,7 +87,7 @@ for J in $NOTICEJARS; do
 done
 
 # check pulsar sql jars
-JARS=$(tar -tf $TARBALL | grep '\.jar' | grep 'lib/presto/' | grep -v pulsar-client | grep -v pulsar-metadata | grep -v 'managed-ledger' | grep -v  'pulsar-client-admin' | grep -v  'pulsar-client-api' | grep -v 'pulsar-functions-api' | grep -v 'pulsar-presto-connector-original' | grep -v 'pulsar-presto-distribution' | grep -v 'pulsar-common' | grep -v 'pulsar-functions-proto' | grep -v 'pulsar-functions-utils' | grep -v 'pulsar-io-core' | grep -v 'pulsar-transaction-common' | sed 's!.*/! [...]
+JARS=$(tar -tf $TARBALL | grep '\.jar' | grep 'lib/presto/' | grep -v pulsar-client | grep -v bouncy-castle-bc | grep -v pulsar-metadata | grep -v 'managed-ledger' | grep -v  'pulsar-client-admin' | grep -v  'pulsar-client-api' | grep -v 'pulsar-functions-api' | grep -v 'pulsar-presto-connector-original' | grep -v 'pulsar-presto-distribution' | grep -v 'pulsar-common' | grep -v 'pulsar-functions-proto' | grep -v 'pulsar-functions-utils' | grep -v 'pulsar-io-core' | grep -v 'pulsar-transa [...]
 LICENSEPATH=$(tar -tf $TARBALL  | awk '/^[^\/]*\/lib\/presto\/LICENSE/')
 LICENSE=$(tar -O -xf $TARBALL "$LICENSEPATH")
 LICENSEJARS=$(echo "$LICENSE" | sed -nE 's!.* (.*\.jar).*!\1!gp')