Skip to content

Commit f3fc58b

Browse files
StevenLuMTlhotari
authored andcommitted
[improve][broker] Upgrade bookkeeper to 4.17.2/commons-configuration to 2.x/grpc to 1.72.0 and enable ZooKeeper client to establish connection in read-only mode (#24468)
(cherry picked from commit 8d1ec6d)
1 parent 245fbfc commit f3fc58b

File tree

12 files changed

+83
-66
lines changed

12 files changed

+83
-66
lines changed

distribution/server/src/assemble/LICENSE.bin.txt

Lines changed: 56 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ The Apache Software License, Version 2.0
262262
- com.fasterxml.jackson.module-jackson-module-parameter-names-2.14.2.jar
263263
* Caffeine -- com.github.ben-manes.caffeine-caffeine-2.9.1.jar
264264
* Conscrypt -- org.conscrypt-conscrypt-openjdk-uber-2.5.2.jar
265-
* Proto Google Common Protos -- com.google.api.grpc-proto-google-common-protos-2.17.0.jar
265+
* Proto Google Common Protos -- com.google.api.grpc-proto-google-common-protos-2.51.0.jar
266266
* Bitbucket -- org.bitbucket.b_c-jose4j-0.9.4.jar
267267
* Gson
268268
- com.google.code.gson-gson-2.8.9.jar
@@ -281,14 +281,17 @@ The Apache Software License, Version 2.0
281281
- com.yahoo.datasketches-memory-0.8.3.jar
282282
- com.yahoo.datasketches-sketches-core-0.8.3.jar
283283
* Apache Commons
284+
- commons-beanutils-commons-beanutils-1.11.0.jar
284285
- commons-cli-commons-cli-1.9.0.jar
285286
- commons-codec-commons-codec-1.18.0.jar
286287
- commons-configuration-commons-configuration-1.10.jar
287288
- commons-io-commons-io-2.19.0.jar
288289
- commons-lang-commons-lang-2.6.jar
289290
- commons-logging-commons-logging-1.1.1.jar
291+
- commons-collections-commons-collections-3.2.2.jar
290292
- org.apache.commons-commons-collections4-4.4.jar
291293
- org.apache.commons-commons-compress-1.27.1.jar
294+
- org.apache.commons-commons-configuration2-2.12.0.jar
292295
- org.apache.commons-commons-lang3-3.17.0.jar
293296
- org.apache.commons-commons-text-1.13.1.jar
294297
* Netty
@@ -355,34 +358,34 @@ The Apache Software License, Version 2.0
355358
- net.java.dev.jna-jna-jpms-5.12.1.jar
356359
- net.java.dev.jna-jna-platform-jpms-5.12.1.jar
357360
* BookKeeper
358-
- org.apache.bookkeeper-bookkeeper-common-4.17.1.jar
359-
- org.apache.bookkeeper-bookkeeper-common-allocator-4.17.1.jar
360-
- org.apache.bookkeeper-bookkeeper-proto-4.17.1.jar
361-
- org.apache.bookkeeper-bookkeeper-server-4.17.1.jar
362-
- org.apache.bookkeeper-bookkeeper-tools-framework-4.17.1.jar
363-
- org.apache.bookkeeper-circe-checksum-4.17.1.jar
364-
- org.apache.bookkeeper-cpu-affinity-4.17.1.jar
365-
- org.apache.bookkeeper-statelib-4.17.1.jar
366-
- org.apache.bookkeeper-stream-storage-api-4.17.1.jar
367-
- org.apache.bookkeeper-stream-storage-common-4.17.1.jar
368-
- org.apache.bookkeeper-stream-storage-java-client-4.17.1.jar
369-
- org.apache.bookkeeper-stream-storage-java-client-base-4.17.1.jar
370-
- org.apache.bookkeeper-stream-storage-proto-4.17.1.jar
371-
- org.apache.bookkeeper-stream-storage-server-4.17.1.jar
372-
- org.apache.bookkeeper-stream-storage-service-api-4.17.1.jar
373-
- org.apache.bookkeeper-stream-storage-service-impl-4.17.1.jar
374-
- org.apache.bookkeeper.http-http-server-4.17.1.jar
375-
- org.apache.bookkeeper.http-vertx-http-server-4.17.1.jar
376-
- org.apache.bookkeeper.stats-bookkeeper-stats-api-4.17.1.jar
377-
- org.apache.bookkeeper.stats-prometheus-metrics-provider-4.17.1.jar
378-
- org.apache.distributedlog-distributedlog-common-4.17.1.jar
379-
- org.apache.distributedlog-distributedlog-core-4.17.1-tests.jar
380-
- org.apache.distributedlog-distributedlog-core-4.17.1.jar
381-
- org.apache.distributedlog-distributedlog-protocol-4.17.1.jar
382-
- org.apache.bookkeeper.stats-codahale-metrics-provider-4.17.1.jar
383-
- org.apache.bookkeeper-bookkeeper-slogger-api-4.17.1.jar
384-
- org.apache.bookkeeper-bookkeeper-slogger-slf4j-4.17.1.jar
385-
- org.apache.bookkeeper-native-io-4.17.1.jar
361+
- org.apache.bookkeeper-bookkeeper-common-4.17.2.jar
362+
- org.apache.bookkeeper-bookkeeper-common-allocator-4.17.2.jar
363+
- org.apache.bookkeeper-bookkeeper-proto-4.17.2.jar
364+
- org.apache.bookkeeper-bookkeeper-server-4.17.2.jar
365+
- org.apache.bookkeeper-bookkeeper-tools-framework-4.17.2.jar
366+
- org.apache.bookkeeper-circe-checksum-4.17.2.jar
367+
- org.apache.bookkeeper-cpu-affinity-4.17.2.jar
368+
- org.apache.bookkeeper-statelib-4.17.2.jar
369+
- org.apache.bookkeeper-stream-storage-api-4.17.2.jar
370+
- org.apache.bookkeeper-stream-storage-common-4.17.2.jar
371+
- org.apache.bookkeeper-stream-storage-java-client-4.17.2.jar
372+
- org.apache.bookkeeper-stream-storage-java-client-base-4.17.2.jar
373+
- org.apache.bookkeeper-stream-storage-proto-4.17.2.jar
374+
- org.apache.bookkeeper-stream-storage-server-4.17.2.jar
375+
- org.apache.bookkeeper-stream-storage-service-api-4.17.2.jar
376+
- org.apache.bookkeeper-stream-storage-service-impl-4.17.2.jar
377+
- org.apache.bookkeeper.http-http-server-4.17.2.jar
378+
- org.apache.bookkeeper.http-vertx-http-server-4.17.2.jar
379+
- org.apache.bookkeeper.stats-bookkeeper-stats-api-4.17.2.jar
380+
- org.apache.bookkeeper.stats-prometheus-metrics-provider-4.17.2.jar
381+
- org.apache.distributedlog-distributedlog-common-4.17.2.jar
382+
- org.apache.distributedlog-distributedlog-core-4.17.2-tests.jar
383+
- org.apache.distributedlog-distributedlog-core-4.17.2.jar
384+
- org.apache.distributedlog-distributedlog-protocol-4.17.2.jar
385+
- org.apache.bookkeeper.stats-codahale-metrics-provider-4.17.2.jar
386+
- org.apache.bookkeeper-bookkeeper-slogger-api-4.17.2.jar
387+
- org.apache.bookkeeper-bookkeeper-slogger-slf4j-4.17.2.jar
388+
- org.apache.bookkeeper-native-io-4.17.2.jar
386389
* Apache HTTP Client
387390
- org.apache.httpcomponents-httpclient-4.5.13.jar
388391
- org.apache.httpcomponents-httpcore-4.4.15.jar
@@ -429,29 +432,31 @@ The Apache Software License, Version 2.0
429432
- org.jetbrains.kotlin-kotlin-stdlib-jdk8-1.8.20.jar
430433
- org.jetbrains-annotations-13.0.jar
431434
* gRPC
432-
- io.grpc-grpc-all-1.56.1.jar
433-
- io.grpc-grpc-auth-1.56.1.jar
434-
- io.grpc-grpc-context-1.56.1.jar
435-
- io.grpc-grpc-core-1.56.1.jar
436-
- io.grpc-grpc-protobuf-1.56.1.jar
437-
- io.grpc-grpc-protobuf-lite-1.56.1.jar
438-
- io.grpc-grpc-stub-1.56.1.jar
439-
- io.grpc-grpc-alts-1.56.1.jar
440-
- io.grpc-grpc-api-1.56.1.jar
441-
- io.grpc-grpc-grpclb-1.56.1.jar
442-
- io.grpc-grpc-netty-shaded-1.56.1.jar
443-
- io.grpc-grpc-services-1.56.1.jar
444-
- io.grpc-grpc-xds-1.56.1.jar
445-
- io.grpc-grpc-rls-1.56.1.jar
446-
- io.grpc-grpc-servlet-1.56.1.jar
447-
- io.grpc-grpc-servlet-jakarta-1.56.1.jar
435+
- io.grpc-grpc-all-1.72.0.jar
436+
- io.grpc-grpc-auth-1.72.0.jar
437+
- io.grpc-grpc-context-1.72.0.jar
438+
- io.grpc-grpc-core-1.72.0.jar
439+
- io.grpc-grpc-protobuf-1.72.0.jar
440+
- io.grpc-grpc-protobuf-lite-1.72.0.jar
441+
- io.grpc-grpc-stub-1.72.0.jar
442+
- io.grpc-grpc-alts-1.72.0.jar
443+
- io.grpc-grpc-api-1.72.0.jar
444+
- io.grpc-grpc-grpclb-1.72.0.jar
445+
- io.grpc-grpc-netty-shaded-1.72.0.jar
446+
- io.grpc-grpc-services-1.72.0.jar
447+
- io.grpc-grpc-xds-1.72.0.jar
448+
- io.grpc-grpc-rls-1.72.0.jar
449+
- io.grpc-grpc-servlet-1.72.0.jar
450+
- io.grpc-grpc-servlet-jakarta-1.72.0.jar
448451
- io.grpc-grpc-util-1.60.0.jar
452+
- io.grpc-grpc-opentelemetry-1.72.0.jar
453+
- io.grpc-grpc-gcp-csm-observability-1.72.0.jar
454+
- io.grpc-grpc-inprocess-1.72.0.jar
449455
* Perfmark
450456
- io.perfmark-perfmark-api-0.26.0.jar
451457
* OpenCensus
452458
- io.opencensus-opencensus-api-0.28.0.jar
453459
- io.opencensus-opencensus-contrib-http-util-0.28.0.jar
454-
- io.opencensus-opencensus-proto-0.2.0.jar
455460
* Jodah
456461
- net.jodah-typetools-0.5.0.jar
457462
- dev.failsafe-failsafe-3.3.2.jar
@@ -505,7 +510,7 @@ The Apache Software License, Version 2.0
505510
* Google HTTP Client
506511
- com.google.http-client-google-http-client-gson-1.41.0.jar
507512
- com.google.http-client-google-http-client-1.41.0.jar
508-
- com.google.auto.value-auto-value-annotations-1.10.1.jar
513+
- com.google.auto.value-auto-value-annotations-1.11.0.jar
509514
- com.google.re2j-re2j-1.7.jar
510515
* Jetcd - shaded
511516
* IPAddress
@@ -536,15 +541,17 @@ The Apache Software License, Version 2.0
536541
- io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java17-1.33.3-alpha.jar
537542
- io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-1.33.3-alpha.jar
538543
- io.opentelemetry.semconv-opentelemetry-semconv-1.29.0-alpha.jar
544+
- com.google.cloud.opentelemetry-detector-resources-support-0.33.0.jar
545+
- io.opentelemetry.contrib-opentelemetry-gcp-resources-1.43.0-alpha.jar
539546
* Spotify completable-futures
540547
- com.spotify-completable-futures-0.3.6.jar
541548
* JSpecify
542549
- org.jspecify-jspecify-1.0.0.jar
543550

544551
BSD 3-clause "New" or "Revised" License
545552
* Google auth library
546-
- com.google.auth-google-auth-library-credentials-1.4.0.jar -- ../licenses/LICENSE-google-auth-library.txt
547-
- com.google.auth-google-auth-library-oauth2-http-1.4.0.jar -- ../licenses/LICENSE-google-auth-library.txt
553+
- com.google.auth-google-auth-library-credentials-1.24.1.jar -- ../licenses/LICENSE-google-auth-library.txt
554+
- com.google.auth-google-auth-library-oauth2-http-1.24.1.jar -- ../licenses/LICENSE-google-auth-library.txt
548555
* LevelDB -- (included in org.rocksdb.*.jar) -- ../licenses/LICENSE-LevelDB.txt
549556
* JSR305 -- com.google.code.findbugs-jsr305-3.0.2.jar -- ../licenses/LICENSE-JSR305.txt
550557
* JLine -- jline-jline-2.14.6.jar -- ../licenses/LICENSE-JLine.txt

distribution/shell/src/assemble/LICENSE.bin.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,13 +339,14 @@ The Apache Software License, Version 2.0
339339
- sketches-core-0.8.3.jar
340340
* Apache Commons
341341
- commons-codec-1.18.0.jar
342-
- commons-configuration-1.10.jar
343342
- commons-io-2.19.0.jar
344-
- commons-lang-2.6.jar
345343
- commons-logging-1.2.jar
346344
- commons-lang3-3.17.0.jar
347345
- commons-text-1.13.1.jar
348346
- commons-compress-1.27.1.jar
347+
- commons-beanutils-1.11.0.jar
348+
- commons-collections-3.2.2.jar
349+
- commons-configuration2-2.12.0.jar
349350
* Netty
350351
- netty-buffer-4.1.122.Final.jar
351352
- netty-codec-4.1.122.Final.jar
@@ -393,9 +394,9 @@ The Apache Software License, Version 2.0
393394
- opentelemetry-context-1.45.0.jar
394395

395396
* BookKeeper
396-
- bookkeeper-common-allocator-4.17.1.jar
397-
- cpu-affinity-4.17.1.jar
398-
- circe-checksum-4.17.1.jar
397+
- bookkeeper-common-allocator-4.17.2.jar
398+
- cpu-affinity-4.17.2.jar
399+
- circe-checksum-4.17.2.jar
399400
* AirCompressor
400401
- aircompressor-0.27.jar
401402
* AsyncHttpClient

pom.xml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ flexible messaging model and an intuitive client API.</description>
137137
<!-- apache commons -->
138138
<commons-compress.version>1.27.1</commons-compress.version>
139139

140-
<bookkeeper.version>4.17.1</bookkeeper.version>
140+
<bookkeeper.version>4.17.2</bookkeeper.version>
141141
<zookeeper.version>3.9.3</zookeeper.version>
142142
<commons-cli.version>1.9.0</commons-cli.version>
143143
<commons-text.version>1.13.1</commons-text.version>
@@ -170,7 +170,7 @@ flexible messaging model and an intuitive client API.</description>
170170
<zt-zip.version>1.17</zt-zip.version>
171171
<protobuf3.version>3.25.5</protobuf3.version>
172172
<protoc3.version>${protobuf3.version}</protoc3.version>
173-
<grpc.version>1.56.1</grpc.version>
173+
<grpc.version>1.72.0</grpc.version>
174174
<google-http-client.version>1.41.0</google-http-client.version>
175175
<perfmark.version>0.26.0</perfmark.version>
176176
<protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version>
@@ -263,6 +263,7 @@ flexible messaging model and an intuitive client API.</description>
263263
<opentelemetry.instrumentation.alpha.version>${opentelemetry.instrumentation.version}-alpha</opentelemetry.instrumentation.alpha.version>
264264
<opentelemetry.semconv.version>1.29.0-alpha</opentelemetry.semconv.version>
265265
<picocli.version>4.7.5</picocli.version>
266+
<re2j.version>1.7</re2j.version>
266267
<completable-futures.version>0.3.6</completable-futures.version>
267268
<failsafe.version>3.3.2</failsafe.version>
268269

@@ -662,6 +663,12 @@ flexible messaging model and an intuitive client API.</description>
662663
<version>${bookkeeper.version}</version>
663664
</dependency>
664665

666+
<dependency>
667+
<groupId>com.google.re2j</groupId>
668+
<artifactId>re2j</artifactId>
669+
<version>${re2j.version}</version>
670+
</dependency>
671+
665672
<dependency>
666673
<groupId>com.spotify</groupId>
667674
<artifactId>completable-futures</artifactId>

pulsar-broker-common/src/main/java/org/apache/pulsar/bookie/rackawareness/BookieRackAffinityMapping.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import org.apache.bookkeeper.net.BookieNode;
4141
import org.apache.bookkeeper.net.BookieSocketAddress;
4242
import org.apache.bookkeeper.proto.BookieAddressResolver;
43-
import org.apache.commons.configuration.Configuration;
43+
import org.apache.commons.configuration2.Configuration;
4444
import org.apache.commons.lang3.StringUtils;
4545
import org.apache.pulsar.common.policies.data.BookieInfo;
4646
import org.apache.pulsar.common.policies.data.BookiesRackConfiguration;

pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import org.apache.bookkeeper.replication.AutoRecoveryMain;
4444
import org.apache.bookkeeper.server.conf.BookieConfiguration;
4545
import org.apache.bookkeeper.stats.StatsProvider;
46-
import org.apache.commons.configuration.ConfigurationException;
46+
import org.apache.commons.configuration2.ex.ConfigurationException;
4747
import org.apache.logging.log4j.LogManager;
4848
import org.apache.logging.log4j.core.util.datetime.FixedDateFormat;
4949
import org.apache.pulsar.broker.PulsarServerException;

pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.apache.bookkeeper.stream.storage.api.cluster.ClusterInitializer;
3030
import org.apache.bookkeeper.stream.storage.impl.cluster.ZkClusterInitializer;
3131
import org.apache.bookkeeper.util.BookKeeperConstants;
32+
import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
3233
import org.apache.pulsar.bookie.rackawareness.BookieRackAffinityMapping;
3334
import org.apache.pulsar.broker.resources.NamespaceResources;
3435
import org.apache.pulsar.broker.resources.PulsarResources;
@@ -304,7 +305,7 @@ private static void initializeCluster(Arguments arguments, int bundleNumberForDe
304305
// Format BookKeeper ledger storage metadata
305306
if (arguments.existingBkMetadataServiceUri == null && arguments.bookieMetadataServiceUri == null) {
306307
ServerConfiguration bkConf = new ServerConfiguration();
307-
bkConf.setDelimiterParsingDisabled(true);
308+
bkConf.setListDelimiterHandler(new DisabledListDelimiterHandler());
308309
bkConf.setMetadataServiceUri("metadata-store:" + arguments.metadataStoreUrl);
309310
bkConf.setZkTimeout(arguments.zkSessionTimeoutMillis);
310311
// only format if /ledgers doesn't exist

pulsar-broker/src/main/java/org/apache/pulsar/broker/ManagedLedgerClientFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.apache.bookkeeper.stats.NullStatsProvider;
3737
import org.apache.bookkeeper.stats.StatsLogger;
3838
import org.apache.bookkeeper.stats.StatsProvider;
39-
import org.apache.commons.configuration.Configuration;
39+
import org.apache.commons.configuration2.Configuration;
4040
import org.apache.pulsar.broker.stats.prometheus.metrics.PrometheusMetricsProvider;
4141
import org.apache.pulsar.broker.storage.ManagedLedgerStorage;
4242
import org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfig;

pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusMetricsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import org.apache.bookkeeper.stats.CachingStatsProvider;
3232
import org.apache.bookkeeper.stats.StatsLogger;
3333
import org.apache.bookkeeper.stats.StatsProvider;
34-
import org.apache.commons.configuration.Configuration;
34+
import org.apache.commons.configuration2.Configuration;
3535
import org.apache.commons.lang3.StringUtils;
3636
import org.apache.pulsar.client.util.ExecutorProvider;
3737

pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
import org.apache.bookkeeper.stream.server.StreamStorageLifecycleComponent;
6868
import org.apache.bookkeeper.stream.storage.api.cluster.ClusterInitializer;
6969
import org.apache.bookkeeper.stream.storage.impl.cluster.ZkClusterInitializer;
70-
import org.apache.commons.configuration.CompositeConfiguration;
70+
import org.apache.commons.configuration2.CompositeConfiguration;
7171
import org.apache.commons.io.FileUtils;
7272
import org.apache.zookeeper.CreateMode;
7373
import org.apache.zookeeper.KeeperException;

pulsar-broker/src/test/java/org/apache/pulsar/broker/BookKeeperClientFactoryImplTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.apache.bookkeeper.conf.ClientConfiguration;
3737
import org.apache.bookkeeper.net.CachedDNSToSwitchMapping;
3838
import org.apache.bookkeeper.stats.StatsLogger;
39-
import org.apache.commons.configuration.ConfigurationException;
39+
import org.apache.commons.configuration2.ex.ConfigurationException;
4040
import org.apache.commons.lang3.reflect.FieldUtils;
4141
import org.apache.pulsar.bookie.rackawareness.BookieRackAffinityMapping;
4242
import org.apache.pulsar.metadata.api.MetadataStore;

0 commit comments

Comments
 (0)