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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8b6671fff8 Scope gRPC dependencies and rely on grpc-bom for single 
version (#4784)
8b6671fff8 is described below

commit 8b6671fff8d43279dd89a1e1eea6851746f546a0
Author: Matteo Merli <[email protected]>
AuthorDate: Sat May 9 10:46:13 2026 -0700

    Scope gRPC dependencies and rely on grpc-bom for single version (#4784)
    
    * Scope gRPC dependencies and rely on grpc-bom for single version
    
    Replace the brittle `grpc-all` dependency (with its long exclusion list in
    the parent pom) with the specific gRPC artifacts each module actually
    uses. The `grpc-bom` import in dependencyManagement continues to enforce
    a single version across all `io.grpc:*` artifacts.
    
    Module changes:
    - pom.xml: drop the `grpc-all` dependencyManagement block; the BOM alone
      manages versions
    - stream/common: `grpc-all` -> `grpc-api`, `grpc-stub`, `grpc-core`
      (compile); `grpc-inprocess`, `grpc-util` (test)
    - stream/tests-common: `grpc-all` -> `grpc-api`, `grpc-stub`; drop unused
      `grpc-testing` (no `io.grpc.testing.*` imports anywhere)
    - stream/proto: drop `grpc-protobuf` (dead after the LightProto
      migration; generated code uses Netty `ByteBuf` only)
    - stream/clients/java/base: add explicit `grpc-inprocess`,
      `grpc-netty-shaded`, `grpc-util` that were silently inherited
    - metadata-drivers/etcd: `grpc-all` -> `grpc-api`, `grpc-stub`
    
    Drop pointless protobuf-java usages so statelib no longer needs it:
    - statelib `Bytes.toLong(ByteString)` was a dead overload (every caller
      uses the `byte[]` variant); removed
    - statelib `MVCCStoreImpl` used `TextFormat.escapeBytes` once for an
      error message; replaced with JDK 17 `HexFormat.of().formatHex`
    - bookkeeper-server `BookieImplTest` had two no-op protobuf
      round-trips (`ByteString.copyFrom(bytes).toByteArray()` and
      `unsafeWrap(...).asReadOnlyByteBuffer()`); replaced with plain
      `byte[]` and `ByteBuffer.wrap`
    
    Update LICENSE-{all,server,bkctl}.bin.txt to match the new bundled jar
    set: drop entries for grpc-all/-alts/-auth/-grpclb/-opentelemetry
    /-protobuf/-protobuf-lite/-services/-testing/-xds/-rls
    /-gcp-csm-observability and the transitively-removed proto-google-common
    -protos, protobuf-java-util, api-common, google-http-client*,
    google-auth-library-*, auto-value-annotations, re2j, opencensus-*,
    conscrypt; clean up the orphaned source-URL footnotes.
    
    Net dist change: 7 grpc jars (down from 18) and 1 protobuf jar
    (down from 3, now sourced only via prometheus-metrics-exposition-formats).
    
    * Fix LICENSE/NOTICE files for the dropped jars
    
    CI's `dev/check-all-licenses` flagged remaining stale references that
    were not caught in the previous commit:
    
    - NOTICE-{all,server,bkctl}.bin.txt: drop the unbundled `grpc-all`,
      `grpc-auth`, `grpc-protobuf`, `grpc-protobuf-lite`, `grpc-testing`
      entries; add the previously-missing `grpc-api`, `grpc-inprocess`,
      `grpc-util` to the gRPC list (these have always been bundled).
    - LICENSE-{all,server,bkctl}.bin.txt: drop
      `opentelemetry-gcp-resources-1.56.0-alpha.jar` (was transitive via the
      removed `grpc-gcp-csm-observability`, no longer bundled).
    - LICENSE-bkctl.bin.txt: drop the entire OpenTelemetry SDK list and the
      protobuf-java entry; bkctl never bundled any of these (pre-existing
      staleness, hidden in CI by `set -e` stopping on the first dist error).
    - bookkeeper-dist/src/assemble/{bin-all,bin-server,bkctl}.xml: drop the
      `deps/google-auth-library-credentials-0.20.0/LICENSE` include from
      every assembly (orphaned now that the jar is no longer bundled), and
      drop the `deps/protobuf/LICENSE` include from the bkctl assembly
      (bkctl doesn't ship protobuf-java).
    - Delete the orphaned
      
`bookkeeper-dist/src/main/resources/deps/google-auth-library-credentials-0.20.0/`
      directory.
    
    Verified locally: `dev/check-all-licenses` passes against freshly-built
    all/server/bkctl tarballs.
---
 bookkeeper-dist/src/assemble/bin-all.xml           |  1 -
 bookkeeper-dist/src/assemble/bin-server.xml        |  1 -
 bookkeeper-dist/src/assemble/bkctl.xml             |  2 -
 .../src/main/resources/LICENSE-all.bin.txt         | 42 --------------
 .../src/main/resources/LICENSE-bkctl.bin.txt       | 64 ----------------------
 .../src/main/resources/LICENSE-server.bin.txt      | 41 --------------
 .../src/main/resources/NOTICE-all.bin.txt          |  8 +--
 .../src/main/resources/NOTICE-bkctl.bin.txt        |  8 +--
 .../src/main/resources/NOTICE-server.bin.txt       |  8 +--
 .../google-auth-library-credentials-0.20.0/LICENSE | 28 ----------
 .../apache/bookkeeper/bookie/BookieImplTest.java   | 12 ++--
 metadata-drivers/etcd/pom.xml                      |  6 +-
 pom.xml                                            | 42 +-------------
 stream/clients/java/base/pom.xml                   | 14 +++++
 stream/common/pom.xml                              | 21 ++++++-
 stream/proto/pom.xml                               |  4 --
 .../org/apache/bookkeeper/statelib/impl/Bytes.java | 19 -------
 .../statelib/impl/mvcc/MVCCStoreImpl.java          |  4 +-
 stream/tests-common/pom.xml                        |  6 +-
 19 files changed, 60 insertions(+), 271 deletions(-)

diff --git a/bookkeeper-dist/src/assemble/bin-all.xml 
b/bookkeeper-dist/src/assemble/bin-all.xml
index b4738eed52..aea7fada3b 100644
--- a/bookkeeper-dist/src/assemble/bin-all.xml
+++ b/bookkeeper-dist/src/assemble/bin-all.xml
@@ -60,7 +60,6 @@
       <outputDirectory>deps</outputDirectory>
       <includes>
         <include>checker-qual-3.5.0/LICENSE</include>
-        <include>google-auth-library-credentials-0.20.0/LICENSE</include>
         <include>javax.servlet-api-4.0.0/CDDL+GPL-1.1</include>
         <include>bouncycastle-1.0.2.3/LICENSE.html</include>
         <include>jsr-305/LICENSE</include>
diff --git a/bookkeeper-dist/src/assemble/bin-server.xml 
b/bookkeeper-dist/src/assemble/bin-server.xml
index eb4aada2fe..c57cfedc00 100644
--- a/bookkeeper-dist/src/assemble/bin-server.xml
+++ b/bookkeeper-dist/src/assemble/bin-server.xml
@@ -50,7 +50,6 @@
       <outputDirectory>deps</outputDirectory>
       <includes>
         <include>checker-qual-3.5.0/LICENSE</include>
-        <include>google-auth-library-credentials-0.20.0/LICENSE</include>
         <include>javax.servlet-api-4.0.0/CDDL+GPL-1.1</include>
         <include>netty/*</include>
         <include>bouncycastle-1.0.2.3/LICENSE.html</include>
diff --git a/bookkeeper-dist/src/assemble/bkctl.xml 
b/bookkeeper-dist/src/assemble/bkctl.xml
index 97df42b970..a312f4bd88 100644
--- a/bookkeeper-dist/src/assemble/bkctl.xml
+++ b/bookkeeper-dist/src/assemble/bkctl.xml
@@ -68,10 +68,8 @@
       <outputDirectory>deps</outputDirectory>
       <includes>
         <include>checker-qual-3.5.0/LICENSE</include>
-        <include>google-auth-library-credentials-0.20.0/LICENSE</include>
         <include>netty/*</include>
         <include>bouncycastle-1.0.2.3/LICENSE.html</include>
-        <include>protobuf/LICENSE</include>
         <include>reactivestreams-1.0.3/LICENSE</include>
         <include>slf4j-2.0.12/LICENSE.txt</include>
       </includes>
diff --git a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt 
b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt
index 983c78f154..89bb911b7b 100644
--- a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt
+++ b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt
@@ -282,30 +282,14 @@ Apache Software License, Version 2.
 - lib/org.apache.datasketches-datasketches-java-7.0.1.jar [25]
 - lib/org.apache.datasketches-datasketches-memory-4.1.0.jar [27]
 - lib/at.yawk.lz4-lz4-java-1.10.2.jar [26]
-- lib/com.google.api-api-common-2.53.0.jar [63]
-- lib/com.google.api.grpc-proto-google-common-protos-2.63.2.jar [28]
 - lib/com.google.code.gson-gson-2.12.1.jar [29]
-- lib/io.opencensus-opencensus-api-0.31.1.jar [30]
-- lib/io.opencensus-opencensus-contrib-http-util-0.31.1.jar [30]
-- lib/io.grpc-grpc-all-1.79.0.jar [33]
-- lib/io.grpc-grpc-alts-1.79.0.jar [33]
 - lib/io.grpc-grpc-api-1.79.0.jar [33]
-- lib/io.grpc-grpc-auth-1.79.0.jar [33]
 - lib/io.grpc-grpc-context-1.79.0.jar [33]
 - lib/io.grpc-grpc-core-1.79.0.jar [33]
-- lib/io.grpc-grpc-grpclb-1.79.0.jar [33]
 - lib/io.grpc-grpc-inprocess-1.79.0.jar [33]
-- lib/io.grpc-grpc-opentelemetry-1.79.0.jar [33]
 - lib/io.grpc-grpc-netty-shaded-1.79.0.jar [33]
-- lib/io.grpc-grpc-protobuf-1.79.0.jar [33]
-- lib/io.grpc-grpc-protobuf-lite-1.79.0.jar [33]
-- lib/io.grpc-grpc-services-1.79.0.jar [33]
 - lib/io.grpc-grpc-stub-1.79.0.jar [33]
-- lib/io.grpc-grpc-testing-1.79.0.jar [33]
 - lib/io.grpc-grpc-util-1.79.0.jar [33]
-- lib/io.grpc-grpc-xds-1.79.0.jar [33]
-- lib/io.grpc-grpc-rls-1.79.0.jar[33]
-- lib/io.grpc-grpc-gcp-csm-observability-1.79.0.jar [33]
 - lib/org.apache.curator-curator-client-5.7.1.jar [34]
 - lib/org.apache.curator-curator-framework-5.7.1.jar [34]
 - lib/org.apache.curator-curator-recipes-5.7.1.jar [34]
@@ -317,17 +301,12 @@ Apache Software License, Version 2.
 - lib/org.apache.httpcomponents-httpcore-4.4.15.jar [40]
 - lib/org.apache.thrift-libthrift-0.14.2.jar [41]
 - lib/com.google.android-annotations-4.1.1.4.jar [42]
-- lib/com.google.http-client-google-http-client-2.0.2.jar [43]
-- lib/com.google.http-client-google-http-client-gson-2.0.2.jar [43]
-- lib/com.google.auto.value-auto-value-annotations-1.11.0.jar [44]
 - lib/com.google.j2objc-j2objc-annotations-2.8.jar [45]
-- lib/com.google.re2j-re2j-1.8.jar [46]
 - lib/io.dropwizard.metrics-metrics-core-4.1.12.1.jar [47]
 - lib/io.dropwizard.metrics-metrics-graphite-4.1.12.1.jar [47]
 - lib/io.dropwizard.metrics-metrics-jmx-4.1.12.1.jar [47]
 - lib/io.dropwizard.metrics-metrics-jvm-4.1.12.1.jar [47]
 - lib/io.perfmark-perfmark-api-0.27.0.jar [48]
-- lib/org.conscrypt-conscrypt-openjdk-uber-2.5.2.jar [49]
 - lib/org.xerial.snappy-snappy-java-1.1.10.5.jar [50]
 - lib/io.reactivex.rxjava3-rxjava-3.0.1.jar [51]
 - lib/org.hdrhistogram-HdrHistogram-2.1.10.jar [52]
@@ -350,7 +329,6 @@ Apache Software License, Version 2.
 - lib/io.opentelemetry-opentelemetry-sdk-logs-1.61.0.jar [55]
 - lib/io.opentelemetry-opentelemetry-sdk-metrics-1.61.0.jar [55]
 - lib/io.opentelemetry-opentelemetry-sdk-trace-1.61.0.jar [55]
-- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.56.0-alpha.jar 
[55]
 - lib/io.opentelemetry.semconv-opentelemetry-semconv-1.41.0.jar [55]
 - 
lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.27.0.jar
 [59]
 - 
lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.27.0-alpha.jar
 [59]
@@ -391,9 +369,7 @@ Apache Software License, Version 2.
 [25] Source available at https://github.com/apache/datasketches-java/tree/7.0.1
 [26] Source available at https://github.com/yawkat/lz4-java/tree/v1.10.2
 [27] Source available at 
https://github.com/apache/datasketches-memory/tree/4.1.0
-[28] Source available at 
https://github.com/googleapis/sdk-platform-java/tree/v2.63.2/java-common-protos
 [29] Source available at https://github.com/google/gson/tree/gson-parent-2.12.1
-[30] Source available at 
https://github.com/census-instrumentation/opencensus-java/tree/v0.31.1
 [33] Source available at https://github.com/grpc/grpc-java/tree/v1.79.0
 [34] Source available at 
https://github.com/apache/curator/releases/tag/apache.curator-5.7.1
 [36] Source available at https://github.com/google/error-prone/tree/v2.9.0
@@ -403,13 +379,9 @@ Apache Software License, Version 2.
 [40] Source available at 
https://github.com/apache/httpcomponents-core/tree/rel/v4.4.15
 [41] Source available at https://github.com/apache/thrift/tree/0.14.2
 [42] Source available at https://source.android.com/
-[43] Source available at 
https://github.com/googleapis/google-http-java-client/releases/tag/v2.0.2
-[44] Source available at 
https://github.com/google/auto/releases/tag/auto-value-1.10.4
 [45] Source available at https://github.com/google/j2objc/releases/tag/1.3
-[46] Source available at https://github.com/google/re2j/releases/tag/re2j-1.8
 [47] Source available at 
https://github.com/dropwizard/metrics/releases/tag/v4.1.12.1
 [48] Source available at 
https://github.com/perfmark/perfmark/releases/tag/v0.27.0
-[49] Source available at https://github.com/google/conscrypt/releases/tag/2.5.2
 [50] Source available at 
https://github.com/xerial/snappy-java/releases/tag/v1.1.10.5
 [51] Source available at https://github.com/ReactiveX/RxJava/tree/v3.0.1
 [52] Source available at 
https://github.com/HdrHistogram/HdrHistogram/tree/HdrHistogram-2.1.10
@@ -423,7 +395,6 @@ Apache Software License, Version 2.
 [60] Source available at https://github.com/prometheus/client_java/tree/v1.5.1
 [61] Source available at 
https://github.com/apache/commons-text/tree/rel/commons-text-1.13.1
 [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
 [64] Source available at https://github.com/merlimat/slog/tree/v0.9.9
 
------------------------------------------------------------------------------------
 lib/io.netty-netty-codec-base-4.2.13.Final.jar bundles some 3rd party 
dependencies
@@ -697,11 +668,6 @@ Bundled as
   - lib/com.google.protobuf-protobuf-java-4.34.0.jar
 Source available at https://github.com/protocolbuffers/protobuf/tree/v34.0/java
 For details, see deps/protobuf/LICENSE.
-
-Bundled as
-  - lib/com.google.protobuf-protobuf-java-util-4.34.0.jar
-Source available at https://github.com/protocolbuffers/protobuf/tree/v34.0/java
-For details, see deps/protobuf/LICENSE.
 
------------------------------------------------------------------------------------
 This product bundles Simple Logging Facade for Java, which is available under a
 MIT license. For details, see deps/slf4j-2.0.12/LICENSE.txt.
@@ -710,14 +676,6 @@ Bundled as
   - lib/org.slf4j-slf4j-api-2.0.12.jar
 Source available at https://github.com/qos-ch/slf4j/tree/v_2.0.12
 
------------------------------------------------------------------------------------
-This product bundles the Google Auth Library, which is available under a 
"3-clause BSD"
-license. For details, see deps/google-auth-library-credentials-0.20.0/LICENSE
-
-Bundled as
-  - lib/com.google.auth-google-auth-library-credentials-1.41.0.jar
-  - lib/com.google.auth-google-auth-library-oauth2-http-1.41.0.jar
-Source available at 
https://github.com/googleapis/google-auth-library-java/releases/tag/v1.41.0
-------------------------------------------------------------------------------------
 This product bundles the bouncycastle Library.
 For license details, see deps/bouncycastle-1.0.2.3/LICENSE.html
 
diff --git a/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt 
b/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt
index e89409a886..b0cd6d1bfb 100644
--- a/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt
+++ b/bookkeeper-dist/src/main/resources/LICENSE-bkctl.bin.txt
@@ -249,30 +249,14 @@ Apache Software License, Version 2.
 - lib/org.apache.zookeeper-zookeeper-3.9.5-tests.jar [20]
 - lib/com.beust-jcommander-1.82.jar [23]
 - lib/at.yawk.lz4-lz4-java-1.10.2.jar [25]
-- lib/com.google.api-api-common-2.53.0.jar [58]
-- lib/com.google.api.grpc-proto-google-common-protos-2.63.2.jar [27]
 - lib/com.google.code.gson-gson-2.12.1.jar [28]
-- lib/io.opencensus-opencensus-api-0.31.1.jar [29]
-- lib/io.opencensus-opencensus-contrib-http-util-0.31.1.jar [29]
-- lib/io.grpc-grpc-all-1.79.0.jar [32]
-- lib/io.grpc-grpc-alts-1.79.0.jar [32]
 - lib/io.grpc-grpc-api-1.79.0.jar [32]
-- lib/io.grpc-grpc-auth-1.79.0.jar [32]
 - lib/io.grpc-grpc-context-1.79.0.jar [32]
 - lib/io.grpc-grpc-core-1.79.0.jar [32]
-- lib/io.grpc-grpc-grpclb-1.79.0.jar [32]
 - lib/io.grpc-grpc-inprocess-1.79.0.jar [32]
-- lib/io.grpc-grpc-opentelemetry-1.79.0.jar [32]
 - lib/io.grpc-grpc-netty-shaded-1.79.0.jar [32]
-- lib/io.grpc-grpc-protobuf-1.79.0.jar [32]
-- lib/io.grpc-grpc-protobuf-lite-1.79.0.jar [32]
-- lib/io.grpc-grpc-services-1.79.0.jar [32]
 - lib/io.grpc-grpc-stub-1.79.0.jar [32]
-- lib/io.grpc-grpc-testing-1.79.0.jar [32]
 - lib/io.grpc-grpc-util-1.79.0.jar [32]
-- lib/io.grpc-grpc-xds-1.79.0.jar [32]
-- lib/io.grpc-grpc-rls-1.79.0.jar[32]
-- lib/io.grpc-grpc-gcp-csm-observability-1.79.0.jar [32]
 - lib/org.apache.curator-curator-client-5.7.1.jar [33]
 - lib/org.apache.curator-curator-framework-5.7.1.jar [33]
 - lib/org.apache.curator-curator-recipes-5.7.1.jar [33]
@@ -284,32 +268,13 @@ Apache Software License, Version 2.
 - lib/org.apache.httpcomponents-httpcore-4.4.15.jar [39]
 - lib/org.apache.thrift-libthrift-0.14.2.jar [40]
 - lib/com.google.android-annotations-4.1.1.4.jar [41]
-- lib/com.google.auto.value-auto-value-annotations-1.11.0.jar [42]
-- lib/com.google.http-client-google-http-client-2.0.2.jar [43]
-- lib/com.google.http-client-google-http-client-gson-2.0.2.jar [43]
 - lib/com.google.j2objc-j2objc-annotations-2.8.jar [44]
-- lib/com.google.re2j-re2j-1.8.jar [45]
 - lib/io.dropwizard.metrics-metrics-core-4.1.12.1.jar [46]
 - lib/io.perfmark-perfmark-api-0.27.0.jar [47]
-- lib/org.conscrypt-conscrypt-openjdk-uber-2.5.2.jar [49]
 - lib/org.xerial.snappy-snappy-java-1.1.10.5.jar [50]
 - lib/io.reactivex.rxjava3-rxjava-3.0.1.jar [51]
 - lib/com.carrotsearch-hppc-0.9.1.jar [52]
 - lib/com.lmax-disruptor-4.0.0.jar [53]
-- lib/io.opentelemetry-opentelemetry-api-1.61.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-common-1.61.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-context-1.61.0.jar [54]
-- lib/io.opentelemetry-opentelemetry-api-1.61.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-common-1.61.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-context-1.61.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-1.61.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-common-1.61.0.jar [55]
-- 
lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi-1.61.0.jar 
[55]
-- lib/io.opentelemetry-opentelemetry-sdk-logs-1.61.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-metrics-1.61.0.jar [55]
-- lib/io.opentelemetry-opentelemetry-sdk-trace-1.61.0.jar [55]
-- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.56.0-alpha.jar 
[55]
-- lib/io.opentelemetry-opentelemetry-sdk-extension-autoconfigure-1.61.0.jar 
[55]
 
 [1] Source available at 
https://github.com/FasterXML/jackson-annotations/tree/jackson-annotations-2.17.1
 [2] Source available at 
https://github.com/FasterXML/jackson-core/tree/jackson-core-2.17.1
@@ -328,9 +293,7 @@ Apache Software License, Version 2.
 [20] Source available at https://github.com/apache/zookeeper/tree/release-3.8.0
 [23] Source available at https://github.com/cbeust/jcommander/tree/1.82
 [25] Source available at https://github.com/yawkat/lz4-java/tree/v1.10.2
-[27] Source available at 
https://github.com/googleapis/sdk-platform-java/tree/v2.63.2/java-common-protos
 [28] Source available at https://github.com/google/gson/tree/gson-parent-2.12.1
-[29] Source available at 
https://github.com/census-instrumentation/opencensus-java/tree/v0.31.1
 [32] Source available at https://github.com/grpc/grpc-java/tree/v1.79.0
 [33] Source available at 
https://github.com/apache/curator/tree/apache-curator-5.7.1
 [35] Source available at https://github.com/google/error-prone/tree/v2.9.0
@@ -340,22 +303,16 @@ Apache Software License, Version 2.
 [39] Source available at 
https://github.com/apache/httpcomponents-core/tree/rel/v4.4.15
 [40] Source available at https://github.com/apache/thrift/tree/0.14.2
 [41] Source available at https://source.android.com/
-[42] Source available at 
https://github.com/google/auto/releases/tag/auto-value-1.10.4
-[43] Source available at 
https://github.com/googleapis/google-http-java-client/releases/tag/v2.0.2
 [44] Source available at https://github.com/google/j2objc/releases/tag/1.3
-[45] Source available at https://github.com/google/re2j/releases/tag/re2j-1.8
 [46] Source available at 
https://github.com/dropwizard/metrics/releases/tag/v4.1.12.1
 [47] Source available at 
https://github.com/perfmark/perfmark/releases/tag/v0.27.0
-[49] Source available at https://github.com/google/conscrypt/releases/tag/2.5.2
 [50] Source available at 
https://github.com/xerial/snappy-java/releases/tag/v1.1.10.5
 [51] Source available at https://github.com/ReactiveX/RxJava/tree/v3.0.1
 [52] Source available at https://github.com/carrotsearch/hppc/tree/0.9.1
 [53] Source available at 
https://github.com/LMAX-Exchange/disruptor/releases/tag/4.0.0
-[54] Source available at 
https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.61.0
 [55] Source available at 
https://github.com/apache/commons-lang/tree/rel/commons-lang-3.20.0
 [56] Source available at 
https://github.com/apache/commons-text/tree/rel/commons-text-1.13.1
 [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
 [59] Source available at https://github.com/merlimat/slog/tree/v0.9.9
 
------------------------------------------------------------------------------------
 lib/io.netty-netty-codec-base-4.2.13.Final.jar bundles some 3rd party 
dependencies
@@ -584,19 +541,6 @@ This private header is also used by Apple's open source
   * HOMEPAGE:
     * 
http://www.opensource.apple.com/source/configd/configd-453.19/dnsinfo/dnsinfo.h
 
-------------------------------------------------------------------------------------
-This product bundles Google Protocol Buffers, which is available under a 
"3-clause BSD"
-license.
-
-Bundled as
-  - lib/com.google.protobuf-protobuf-java-4.34.0.jar
-Source available at https://github.com/protocolbuffers/protobuf/tree/v34.0/java
-For details, see deps/protobuf/LICENSE.
-
-Bundled as
-  - lib/com.google.protobuf-protobuf-java-util-4.34.0.jar
-Source available at https://github.com/protocolbuffers/protobuf/tree/v34.0/java
-For details, see deps/protobuf/LICENSE.
 
------------------------------------------------------------------------------------
 This product bundles Simple Logging Facade for Java, which is available under a
 MIT license. For details, see deps/slf4j-2.0.12/LICENSE.txt.
@@ -605,14 +549,6 @@ Bundled as
   - lib/org.slf4j-slf4j-api-2.0.12.jar
 Source available at https://github.com/qos-ch/slf4j/tree/v_2.0.12
 
------------------------------------------------------------------------------------
-This product bundles the Google Auth Library, which is available under a 
"3-clause BSD"
-license. For details, see deps/google-auth-library-credentials-0.20.0/LICENSE
-
-Bundled as
-  - lib/com.google.auth-google-auth-library-credentials-1.41.0.jar
-  - lib/com.google.auth-google-auth-library-oauth2-http-1.41.0.jar
-Source available at 
https://github.com/google/google-auth-library-java/tree/1.41.0
-------------------------------------------------------------------------------------
 This product bundles the bouncycastle Library.
 For license details, see deps/bouncycastle-1.0.2.3/LICENSE.html
 
diff --git a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt 
b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt
index de6aeb6c96..da3d3aa7a3 100644
--- a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt
+++ b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt
@@ -282,30 +282,14 @@ Apache Software License, Version 2.
 - lib/org.apache.datasketches-datasketches-java-7.0.1.jar [25]
 - lib/org.apache.datasketches-datasketches-memory-4.1.0.jar [27]
 - lib/at.yawk.lz4-lz4-java-1.10.2.jar [26]
-- lib/com.google.api-api-common-2.53.0.jar [62]
-- lib/com.google.api.grpc-proto-google-common-protos-2.63.2.jar [28]
 - lib/com.google.code.gson-gson-2.12.1.jar [29]
-- lib/io.opencensus-opencensus-api-0.31.1.jar [30]
-- lib/io.opencensus-opencensus-contrib-http-util-0.31.1.jar [30]
-- lib/io.grpc-grpc-all-1.79.0.jar [33]
-- lib/io.grpc-grpc-alts-1.79.0.jar [33]
 - lib/io.grpc-grpc-api-1.79.0.jar [33]
-- lib/io.grpc-grpc-auth-1.79.0.jar [33]
 - lib/io.grpc-grpc-context-1.79.0.jar [33]
 - lib/io.grpc-grpc-core-1.79.0.jar [33]
-- lib/io.grpc-grpc-grpclb-1.79.0.jar [33]
 - lib/io.grpc-grpc-inprocess-1.79.0.jar [33]
-- lib/io.grpc-grpc-opentelemetry-1.79.0.jar [33]
 - lib/io.grpc-grpc-netty-shaded-1.79.0.jar [33]
-- lib/io.grpc-grpc-protobuf-1.79.0.jar [33]
-- lib/io.grpc-grpc-protobuf-lite-1.79.0.jar [33]
-- lib/io.grpc-grpc-services-1.79.0.jar [33]
 - lib/io.grpc-grpc-stub-1.79.0.jar [33]
-- lib/io.grpc-grpc-testing-1.79.0.jar [33]
 - lib/io.grpc-grpc-util-1.79.0.jar [33]
-- lib/io.grpc-grpc-xds-1.79.0.jar [33]
-- lib/io.grpc-grpc-rls-1.79.0.jar[33]
-- lib/io.grpc-grpc-gcp-csm-observability-1.79.0.jar [33]
 - lib/org.apache.curator-curator-client-5.7.1.jar [34]
 - lib/org.apache.curator-curator-framework-5.7.1.jar [34]
 - lib/org.apache.curator-curator-recipes-5.7.1.jar [34]
@@ -317,14 +301,9 @@ Apache Software License, Version 2.
 - lib/org.apache.httpcomponents-httpcore-4.4.15.jar [40]
 - lib/org.apache.thrift-libthrift-0.14.2.jar [41]
 - lib/com.google.android-annotations-4.1.1.4.jar [42]
-- lib/com.google.http-client-google-http-client-2.0.2.jar [43]
-- lib/com.google.http-client-google-http-client-gson-2.0.2.jar [43]
-- lib/com.google.auto.value-auto-value-annotations-1.11.0.jar [44]
 - lib/com.google.j2objc-j2objc-annotations-2.8.jar [45]
-- lib/com.google.re2j-re2j-1.8.jar [46]
 - lib/io.dropwizard.metrics-metrics-core-4.1.12.1.jar [47]
 - lib/io.perfmark-perfmark-api-0.27.0.jar [48]
-- lib/org.conscrypt-conscrypt-openjdk-uber-2.5.2.jar [49]
 - lib/org.xerial.snappy-snappy-java-1.1.10.5.jar [50]
 - lib/io.reactivex.rxjava3-rxjava-3.0.1.jar [51]
 - lib/com.carrotsearch-hppc-0.9.1.jar [52]
@@ -349,7 +328,6 @@ Apache Software License, Version 2.
 - 
lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-2.27.0.jar
 [58]
 - 
lib/io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-incubator-2.27.0-alpha.jar
 [58]
 - 
lib/io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-2.27.0-alpha.jar
 [58]
-- lib/io.opentelemetry.contrib-opentelemetry-gcp-resources-1.56.0-alpha.jar 
[54]
 - lib/io.opentelemetry.semconv-opentelemetry-semconv-1.41.0.jar [54]
 - lib/io.prometheus-prometheus-metrics-config-1.5.1.jar [59]
 - lib/io.prometheus-prometheus-metrics-exporter-common-1.5.1.jar [59]
@@ -389,7 +367,6 @@ Apache Software License, Version 2.
 [27] Source available at 
https://github.com/apache/datasketches-memory/tree/4.1.0
 [28] Source available at 
https://github.com/googleapis/sdk-platform-java/tree/v2.63.2/java-common-protos
 [29] Source available at https://github.com/google/gson/tree/gson-parent-2.12.1
-[30] Source available at 
https://github.com/census-instrumentation/opencensus-java/tree/v0.31.1
 [33] Source available at https://github.com/grpc/grpc-java/tree/v1.79.0
 [34] Source available at 
https://github.com/apache/curator/releases/tag/apache.curator-5.7.1
 [36] Source available at https://github.com/google/error-prone/tree/v2.9.0
@@ -399,13 +376,9 @@ Apache Software License, Version 2.
 [40] Source available at 
https://github.com/apache/httpcomponents-core/tree/rel/v4.4.15
 [41] Source available at https://github.com/apache/thrift/tree/0.14.2
 [42] Source available at https://source.android.com/
-[43] Source available at 
https://github.com/googleapis/google-http-java-client/releases/tag/v2.0.2
-[44] Source available at 
https://github.com/google/auto/releases/tag/auto-value-1.10.4
 [45] Source available at https://github.com/google/j2objc/releases/tag/1.3
-[46] Source available at https://github.com/google/re2j/releases/tag/re2j-1.8
 [47] Source available at 
https://github.com/dropwizard/metrics/releases/tag/v4.1.12.1
 [48] Source available at 
https://github.com/perfmark/perfmark/releases/tag/v0.27.0
-[49] Source available at https://github.com/google/conscrypt/releases/tag/2.5.2
 [50] Source available at 
https://github.com/xerial/snappy-java/releases/tag/v1.1.10.5
 [51] Source available at https://github.com/ReactiveX/RxJava/tree/v3.0.1
 [52] Source available at https://github.com/carrotsearch/hppc/tree/0.9.1
@@ -418,7 +391,6 @@ Apache Software License, Version 2.
 [59] Source available at https://github.com/prometheus/client_java/tree/v1.5.1
 [60] Source available at 
https://github.com/apache/commons-text/tree/rel/commons-text-1.13.1
 [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
 [63] Source available at https://github.com/merlimat/slog/tree/v0.9.9
 
------------------------------------------------------------------------------------
 lib/io.netty-netty-codec-base-4.2.13.Final.jar bundles some 3rd party 
dependencies
@@ -686,11 +658,6 @@ Bundled as
   - lib/com.google.protobuf-protobuf-java-4.34.0.jar
 Source available at https://github.com/protocolbuffers/protobuf/tree/v34.0/java
 For details, see deps/protobuf/LICENSE.
-
-Bundled as
-  - lib/com.google.protobuf-protobuf-java-util-4.34.0.jar
-Source available at https://github.com/protocolbuffers/protobuf/tree/v34.0/java
-For details, see deps/protobuf/LICENSE.
 
------------------------------------------------------------------------------------
 This product bundles Simple Logging Facade for Java, which is available under a
 MIT license. For details, see deps/slf4j-2.0.12/LICENSE.txt.
@@ -699,14 +666,6 @@ Bundled as
   - lib/org.slf4j-slf4j-api-2.0.12.jar
 Source available at https://github.com/qos-ch/slf4j/tree/v_2.0.12
 
------------------------------------------------------------------------------------
-This product bundles the Google Auth Library, which is available under a 
"3-clause BSD"
-license. For details, see deps/google-auth-library-credentials-0.20.0/LICENSE
-
-Bundled as
-  - lib/com.google.auth-google-auth-library-credentials-1.41.0.jar
-  - lib/com.google.auth-google-auth-library-oauth2-http-1.41.0.jar
-Source available at 
https://github.com/googleapis/google-auth-library-java/releases/tag/v1.41.0
-------------------------------------------------------------------------------------
 This product bundles the bouncycastle Library.
 For license details, see deps/bouncycastle-1.0.2.3/LICENSE.html
 
diff --git a/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt 
b/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt
index c4be69172d..55902034bc 100644
--- a/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt
+++ b/bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt
@@ -131,15 +131,13 @@ Jetty may be distributed under either license.
 Copyright 2010 Cedric Beust [email protected]
 
 
------------------------------------------------------------------------------------
-- lib/io.grpc-grpc-all-1.79.0.jar
-- lib/io.grpc-grpc-auth-1.79.0.jar
+- lib/io.grpc-grpc-api-1.79.0.jar
 - lib/io.grpc-grpc-context-1.79.0.jar
 - lib/io.grpc-grpc-core-1.79.0.jar
+- lib/io.grpc-grpc-inprocess-1.79.0.jar
 - lib/io.grpc-grpc-netty-shaded-1.79.0.jar
-- lib/io.grpc-grpc-protobuf-1.79.0.jar
-- lib/io.grpc-grpc-protobuf-lite-1.79.0.jar
 - lib/io.grpc-grpc-stub-1.79.0.jar
-- lib/io.grpc-grpc-testing-1.79.0.jar
+- lib/io.grpc-grpc-util-1.79.0.jar
 
 Copyright 2014, gRPC Authors All rights reserved.
 
diff --git a/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt 
b/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt
index 36671abb52..fda941fb7d 100644
--- a/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt
+++ b/bookkeeper-dist/src/main/resources/NOTICE-bkctl.bin.txt
@@ -54,15 +54,13 @@ under the License.
 Copyright 2010 Cedric Beust [email protected]
 
 
------------------------------------------------------------------------------------
-- lib/io.grpc-grpc-all-1.79.0.jar
-- lib/io.grpc-grpc-auth-1.79.0.jar
+- lib/io.grpc-grpc-api-1.79.0.jar
 - lib/io.grpc-grpc-context-1.79.0.jar
 - lib/io.grpc-grpc-core-1.79.0.jar
+- lib/io.grpc-grpc-inprocess-1.79.0.jar
 - lib/io.grpc-grpc-netty-shaded-1.79.0.jar
-- lib/io.grpc-grpc-protobuf-1.79.0.jar
-- lib/io.grpc-grpc-protobuf-lite-1.79.0.jar
 - lib/io.grpc-grpc-stub-1.79.0.jar
-- lib/io.grpc-grpc-testing-1.79.0.jar
+- lib/io.grpc-grpc-util-1.79.0.jar
 
 Copyright 2014, gRPC Authors All rights reserved.
 
diff --git a/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt 
b/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt
index 9a1db61a42..a10b36bcd3 100644
--- a/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt
+++ b/bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt
@@ -113,15 +113,13 @@ Jetty may be distributed under either license.
 Copyright 2010 Cedric Beust [email protected]
 
 
------------------------------------------------------------------------------------
-- lib/io.grpc-grpc-all-1.79.0.jar
-- lib/io.grpc-grpc-auth-1.79.0.jar
+- lib/io.grpc-grpc-api-1.79.0.jar
 - lib/io.grpc-grpc-context-1.79.0.jar
 - lib/io.grpc-grpc-core-1.79.0.jar
+- lib/io.grpc-grpc-inprocess-1.79.0.jar
 - lib/io.grpc-grpc-netty-shaded-1.79.0.jar
-- lib/io.grpc-grpc-protobuf-1.79.0.jar
-- lib/io.grpc-grpc-protobuf-lite-1.79.0.jar
 - lib/io.grpc-grpc-stub-1.79.0.jar
-- lib/io.grpc-grpc-testing-1.79.0.jar
+- lib/io.grpc-grpc-util-1.79.0.jar
 
 Copyright 2014, gRPC Authors All rights reserved.
 
diff --git 
a/bookkeeper-dist/src/main/resources/deps/google-auth-library-credentials-0.20.0/LICENSE
 
b/bookkeeper-dist/src/main/resources/deps/google-auth-library-credentials-0.20.0/LICENSE
deleted file mode 100644
index 12edf23c67..0000000000
--- 
a/bookkeeper-dist/src/main/resources/deps/google-auth-library-credentials-0.20.0/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright 2014, Google Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-   * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-
-   * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieImplTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieImplTest.java
index 4787ae8d36..748c3fbc4c 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieImplTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieImplTest.java
@@ -26,11 +26,10 @@ import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
-import com.google.protobuf.ByteString;
-import com.google.protobuf.UnsafeByteOperations;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.buffer.UnpooledByteBufAllocator;
+import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
 import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.bookkeeper.client.BookKeeper;
@@ -86,10 +85,11 @@ public class BookieImplTest extends 
BookKeeperClusterTestCase {
                 baseClientConf.getUseV2WireProtocol());
 
         final ByteBufList toSend = 
digestManager.computeDigestAndPackageForSendingLac(lac);
-        ByteString body = UnsafeByteOperations.unsafeWrap(toSend.array(), 
toSend.arrayOffset(), toSend.readableBytes());
+        ByteBuffer body = ByteBuffer.wrap(toSend.array(), 
toSend.arrayOffset(), toSend.readableBytes())
+                .asReadOnlyBuffer();
 
-        final ByteBuf lacToAdd = 
Unpooled.wrappedBuffer(body.asReadOnlyByteBuffer());
-        final byte[] masterKey = 
ByteString.copyFrom("masterKey".getBytes()).toByteArray();
+        final ByteBuf lacToAdd = Unpooled.wrappedBuffer(body);
+        final byte[] masterKey = "masterKey".getBytes(StandardCharsets.UTF_8);
 
         final ByteBuf explicitLACEntry = b.createExplicitLACEntry(ledgerId, 
lacToAdd);
         lacToAdd.resetReaderIndex();
@@ -145,7 +145,7 @@ public class BookieImplTest extends 
BookKeeperClusterTestCase {
 
         final long ledgerId = 10;
 
-        final byte[] masterKey = 
ByteString.copyFrom("masterKey".getBytes()).toByteArray();
+        final byte[] masterKey = "masterKey".getBytes(StandardCharsets.UTF_8);
 
         final ByteBuf masterKeyEntry = b.createMasterKeyEntry(ledgerId, 
masterKey);
 
diff --git a/metadata-drivers/etcd/pom.xml b/metadata-drivers/etcd/pom.xml
index 0179eaad96..03765d0254 100644
--- a/metadata-drivers/etcd/pom.xml
+++ b/metadata-drivers/etcd/pom.xml
@@ -51,7 +51,11 @@
 
     <dependency>
       <groupId>io.grpc</groupId>
-      <artifactId>grpc-all</artifactId>
+      <artifactId>grpc-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-stub</artifactId>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
diff --git a/pom.xml b/pom.xml
index cbe4db6875..72e29bb509 100644
--- a/pom.xml
+++ b/pom.xml
@@ -434,7 +434,7 @@
         <scope>import</scope>
       </dependency>
 
-      <!-- grpc dependencies -->
+      <!-- grpc dependencies: grpc-bom enforces a single version across all 
io.grpc:* artifacts -->
       <dependency>
         <groupId>io.grpc</groupId>
         <artifactId>grpc-bom</artifactId>
@@ -442,46 +442,6 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
-      <!-- exclude dependencies from grpc-all -->
-      <dependency>
-        <groupId>io.grpc</groupId>
-        <artifactId>grpc-all</artifactId>
-        <version>${grpc.version}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-testing</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-netty</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-okhttp</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>com.squareup.okhttp</groupId>
-            <artifactId>okhttp</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>com.squareup.okio</groupId>
-            <artifactId>okio</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-servlet</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-servlet-jakarta</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
 
       <!-- used by jetcd-core-shaded -->
       <dependency>
diff --git a/stream/clients/java/base/pom.xml b/stream/clients/java/base/pom.xml
index ac0a9dae51..3092c72c40 100644
--- a/stream/clients/java/base/pom.xml
+++ b/stream/clients/java/base/pom.xml
@@ -36,6 +36,20 @@
       <artifactId>stream-storage-proto</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
+    <dependency>
+      <!-- io.grpc.inprocess.InProcessChannelBuilder used by GrpcChannels -->
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-inprocess</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-netty-shaded</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-util</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.inferred</groupId>
       <artifactId>freebuilder</artifactId>
diff --git a/stream/common/pom.xml b/stream/common/pom.xml
index 10287b189d..22cfec543e 100644
--- a/stream/common/pom.xml
+++ b/stream/common/pom.xml
@@ -37,7 +37,16 @@
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
-      <artifactId>grpc-all</artifactId>
+      <artifactId>grpc-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-stub</artifactId>
+    </dependency>
+    <dependency>
+      <!-- io.grpc.internal.DnsNameResolverProvider used by 
ServiceNameResolverProvider -->
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-core</artifactId>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
@@ -50,6 +59,16 @@
       <!-- this should not be bundled in binary distributions -->
       <optional>true</optional>
     </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-inprocess</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.grpc</groupId>
+      <artifactId>grpc-util</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.bookkeeper</groupId>
       <artifactId>bookkeeper-common</artifactId>
diff --git a/stream/proto/pom.xml b/stream/proto/pom.xml
index 999ffac581..8794a583aa 100644
--- a/stream/proto/pom.xml
+++ b/stream/proto/pom.xml
@@ -48,10 +48,6 @@
       <groupId>io.grpc</groupId>
       <artifactId>grpc-stub</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.grpc</groupId>
-      <artifactId>grpc-protobuf</artifactId>
-    </dependency>
     <dependency>
       <groupId>javax.annotation</groupId>
       <artifactId>javax.annotation-api</artifactId>
diff --git 
a/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/Bytes.java 
b/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/Bytes.java
index 0cee92b8f3..961ee82442 100644
--- 
a/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/Bytes.java
+++ 
b/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/Bytes.java
@@ -18,8 +18,6 @@
 
 package org.apache.bookkeeper.statelib.impl;
 
-import com.google.protobuf.ByteString;
-
 /**
  * Bytes related utils.
  */
@@ -43,23 +41,6 @@ public class Bytes {
             | (long) memory[index + 7] & 0xff;
     }
 
-    /**
-     * Get a long number from a {@link ByteString}.
-     *
-     * @param bs byte string
-     * @return the long number.
-     */
-    public static long toLong(ByteString bs) {
-        return ((long) bs.byteAt(0) & 0xff) << 56
-            | ((long) bs.byteAt(1) & 0xff) << 48
-            | ((long) bs.byteAt(2) & 0xff) << 40
-            | ((long) bs.byteAt(3) & 0xff) << 32
-            | ((long) bs.byteAt(4) & 0xff) << 24
-            | ((long) bs.byteAt(5) & 0xff) << 16
-            | ((long) bs.byteAt(6) & 0xff) << 8
-            | (long) bs.byteAt(7) & 0xff;
-    }
-
     /**
      * Convert a long number to a bytes array.
      *
diff --git 
a/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/mvcc/MVCCStoreImpl.java
 
b/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/mvcc/MVCCStoreImpl.java
index 450f651012..4d20fd5e36 100644
--- 
a/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/mvcc/MVCCStoreImpl.java
+++ 
b/stream/statelib/src/main/java/org/apache/bookkeeper/statelib/impl/mvcc/MVCCStoreImpl.java
@@ -26,13 +26,13 @@ import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import com.google.common.collect.PeekingIterator;
 import com.google.common.primitives.UnsignedBytes;
-import com.google.protobuf.TextFormat;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.PooledByteBufAllocator;
 import io.netty.buffer.Unpooled;
 import io.netty.util.ReferenceCountUtil;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HexFormat;
 import java.util.List;
 import java.util.NoSuchElementException;
 import javax.annotation.Nullable;
@@ -772,7 +772,7 @@ class MVCCStoreImpl<K, V> extends RocksdbKVStore<K, V> 
implements MVCCStore<K, V
             if (null == record) {
                 if (CompareTarget.VALUE != op.target()) {
                     throw new MVCCStoreException(Code.KEY_NOT_FOUND,
-                        "Key '" + TextFormat.escapeBytes(rawKey) + "' is not 
found");
+                        "Key '" + HexFormat.of().formatHex(rawKey) + "' is not 
found");
                 }
             }
             return processCompareOp(record, op);
diff --git a/stream/tests-common/pom.xml b/stream/tests-common/pom.xml
index 5b5c9a5cd9..5c33825480 100644
--- a/stream/tests-common/pom.xml
+++ b/stream/tests-common/pom.xml
@@ -30,15 +30,15 @@
   <dependencies>
     <dependency>
       <groupId>io.grpc</groupId>
-      <artifactId>grpc-all</artifactId>
+      <artifactId>grpc-api</artifactId>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
-      <artifactId>grpc-netty-shaded</artifactId>
+      <artifactId>grpc-stub</artifactId>
     </dependency>
     <dependency>
       <groupId>io.grpc</groupId>
-      <artifactId>grpc-testing</artifactId>
+      <artifactId>grpc-netty-shaded</artifactId>
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>


Reply via email to