This is an automated email from the ASF dual-hosted git repository. lhotari pushed a commit to branch branch-3.3 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit f3fc58b715e9293253b296cb302b120d856c2acf Author: StevenLuMT <lush...@apache.org> AuthorDate: Tue Jul 8 10:29:13 2025 +0800 [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 8d1ec6d1798242d9af4ca588f0e53e1815464e25) --- distribution/server/src/assemble/LICENSE.bin.txt | 105 +++++++++++---------- distribution/shell/src/assemble/LICENSE.bin.txt | 11 ++- pom.xml | 11 ++- .../rackawareness/BookieRackAffinityMapping.java | 2 +- .../org/apache/pulsar/PulsarBrokerStarter.java | 2 +- .../apache/pulsar/PulsarClusterMetadataSetup.java | 3 +- .../pulsar/broker/ManagedLedgerClientFactory.java | 2 +- .../metrics/PrometheusMetricsProvider.java | 2 +- .../pulsar/zookeeper/LocalBookkeeperEnsemble.java | 2 +- .../broker/BookKeeperClientFactoryImplTest.java | 2 +- .../metadata/impl/PulsarZooKeeperClient.java | 5 +- .../bookkeeper/client/TestStatsProvider.java | 2 +- 12 files changed, 83 insertions(+), 66 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 4e7ba8e6fad..a5ee690f818 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -262,7 +262,7 @@ The Apache Software License, Version 2.0 - com.fasterxml.jackson.module-jackson-module-parameter-names-2.14.2.jar * Caffeine -- com.github.ben-manes.caffeine-caffeine-2.9.1.jar * Conscrypt -- org.conscrypt-conscrypt-openjdk-uber-2.5.2.jar - * Proto Google Common Protos -- com.google.api.grpc-proto-google-common-protos-2.17.0.jar + * Proto Google Common Protos -- com.google.api.grpc-proto-google-common-protos-2.51.0.jar * Bitbucket -- org.bitbucket.b_c-jose4j-0.9.4.jar * Gson - com.google.code.gson-gson-2.8.9.jar @@ -281,14 +281,17 @@ The Apache Software License, Version 2.0 - com.yahoo.datasketches-memory-0.8.3.jar - com.yahoo.datasketches-sketches-core-0.8.3.jar * Apache Commons + - commons-beanutils-commons-beanutils-1.11.0.jar - commons-cli-commons-cli-1.9.0.jar - commons-codec-commons-codec-1.18.0.jar - commons-configuration-commons-configuration-1.10.jar - commons-io-commons-io-2.19.0.jar - commons-lang-commons-lang-2.6.jar - commons-logging-commons-logging-1.1.1.jar + - commons-collections-commons-collections-3.2.2.jar - org.apache.commons-commons-collections4-4.4.jar - org.apache.commons-commons-compress-1.27.1.jar + - org.apache.commons-commons-configuration2-2.12.0.jar - org.apache.commons-commons-lang3-3.17.0.jar - org.apache.commons-commons-text-1.13.1.jar * Netty @@ -355,34 +358,34 @@ The Apache Software License, Version 2.0 - net.java.dev.jna-jna-jpms-5.12.1.jar - net.java.dev.jna-jna-platform-jpms-5.12.1.jar * BookKeeper - - org.apache.bookkeeper-bookkeeper-common-4.17.1.jar - - org.apache.bookkeeper-bookkeeper-common-allocator-4.17.1.jar - - org.apache.bookkeeper-bookkeeper-proto-4.17.1.jar - - org.apache.bookkeeper-bookkeeper-server-4.17.1.jar - - org.apache.bookkeeper-bookkeeper-tools-framework-4.17.1.jar - - org.apache.bookkeeper-circe-checksum-4.17.1.jar - - org.apache.bookkeeper-cpu-affinity-4.17.1.jar - - org.apache.bookkeeper-statelib-4.17.1.jar - - org.apache.bookkeeper-stream-storage-api-4.17.1.jar - - org.apache.bookkeeper-stream-storage-common-4.17.1.jar - - org.apache.bookkeeper-stream-storage-java-client-4.17.1.jar - - org.apache.bookkeeper-stream-storage-java-client-base-4.17.1.jar - - org.apache.bookkeeper-stream-storage-proto-4.17.1.jar - - org.apache.bookkeeper-stream-storage-server-4.17.1.jar - - org.apache.bookkeeper-stream-storage-service-api-4.17.1.jar - - org.apache.bookkeeper-stream-storage-service-impl-4.17.1.jar - - org.apache.bookkeeper.http-http-server-4.17.1.jar - - org.apache.bookkeeper.http-vertx-http-server-4.17.1.jar - - org.apache.bookkeeper.stats-bookkeeper-stats-api-4.17.1.jar - - org.apache.bookkeeper.stats-prometheus-metrics-provider-4.17.1.jar - - org.apache.distributedlog-distributedlog-common-4.17.1.jar - - org.apache.distributedlog-distributedlog-core-4.17.1-tests.jar - - org.apache.distributedlog-distributedlog-core-4.17.1.jar - - org.apache.distributedlog-distributedlog-protocol-4.17.1.jar - - org.apache.bookkeeper.stats-codahale-metrics-provider-4.17.1.jar - - org.apache.bookkeeper-bookkeeper-slogger-api-4.17.1.jar - - org.apache.bookkeeper-bookkeeper-slogger-slf4j-4.17.1.jar - - org.apache.bookkeeper-native-io-4.17.1.jar + - org.apache.bookkeeper-bookkeeper-common-4.17.2.jar + - org.apache.bookkeeper-bookkeeper-common-allocator-4.17.2.jar + - org.apache.bookkeeper-bookkeeper-proto-4.17.2.jar + - org.apache.bookkeeper-bookkeeper-server-4.17.2.jar + - org.apache.bookkeeper-bookkeeper-tools-framework-4.17.2.jar + - org.apache.bookkeeper-circe-checksum-4.17.2.jar + - org.apache.bookkeeper-cpu-affinity-4.17.2.jar + - org.apache.bookkeeper-statelib-4.17.2.jar + - org.apache.bookkeeper-stream-storage-api-4.17.2.jar + - org.apache.bookkeeper-stream-storage-common-4.17.2.jar + - org.apache.bookkeeper-stream-storage-java-client-4.17.2.jar + - org.apache.bookkeeper-stream-storage-java-client-base-4.17.2.jar + - org.apache.bookkeeper-stream-storage-proto-4.17.2.jar + - org.apache.bookkeeper-stream-storage-server-4.17.2.jar + - org.apache.bookkeeper-stream-storage-service-api-4.17.2.jar + - org.apache.bookkeeper-stream-storage-service-impl-4.17.2.jar + - org.apache.bookkeeper.http-http-server-4.17.2.jar + - org.apache.bookkeeper.http-vertx-http-server-4.17.2.jar + - org.apache.bookkeeper.stats-bookkeeper-stats-api-4.17.2.jar + - org.apache.bookkeeper.stats-prometheus-metrics-provider-4.17.2.jar + - org.apache.distributedlog-distributedlog-common-4.17.2.jar + - org.apache.distributedlog-distributedlog-core-4.17.2-tests.jar + - org.apache.distributedlog-distributedlog-core-4.17.2.jar + - org.apache.distributedlog-distributedlog-protocol-4.17.2.jar + - org.apache.bookkeeper.stats-codahale-metrics-provider-4.17.2.jar + - org.apache.bookkeeper-bookkeeper-slogger-api-4.17.2.jar + - org.apache.bookkeeper-bookkeeper-slogger-slf4j-4.17.2.jar + - org.apache.bookkeeper-native-io-4.17.2.jar * Apache HTTP Client - org.apache.httpcomponents-httpclient-4.5.13.jar - org.apache.httpcomponents-httpcore-4.4.15.jar @@ -429,29 +432,31 @@ The Apache Software License, Version 2.0 - org.jetbrains.kotlin-kotlin-stdlib-jdk8-1.8.20.jar - org.jetbrains-annotations-13.0.jar * gRPC - - io.grpc-grpc-all-1.56.1.jar - - io.grpc-grpc-auth-1.56.1.jar - - io.grpc-grpc-context-1.56.1.jar - - io.grpc-grpc-core-1.56.1.jar - - io.grpc-grpc-protobuf-1.56.1.jar - - io.grpc-grpc-protobuf-lite-1.56.1.jar - - io.grpc-grpc-stub-1.56.1.jar - - io.grpc-grpc-alts-1.56.1.jar - - io.grpc-grpc-api-1.56.1.jar - - io.grpc-grpc-grpclb-1.56.1.jar - - io.grpc-grpc-netty-shaded-1.56.1.jar - - io.grpc-grpc-services-1.56.1.jar - - io.grpc-grpc-xds-1.56.1.jar - - io.grpc-grpc-rls-1.56.1.jar - - io.grpc-grpc-servlet-1.56.1.jar - - io.grpc-grpc-servlet-jakarta-1.56.1.jar + - io.grpc-grpc-all-1.72.0.jar + - io.grpc-grpc-auth-1.72.0.jar + - io.grpc-grpc-context-1.72.0.jar + - io.grpc-grpc-core-1.72.0.jar + - io.grpc-grpc-protobuf-1.72.0.jar + - io.grpc-grpc-protobuf-lite-1.72.0.jar + - io.grpc-grpc-stub-1.72.0.jar + - io.grpc-grpc-alts-1.72.0.jar + - io.grpc-grpc-api-1.72.0.jar + - io.grpc-grpc-grpclb-1.72.0.jar + - io.grpc-grpc-netty-shaded-1.72.0.jar + - io.grpc-grpc-services-1.72.0.jar + - io.grpc-grpc-xds-1.72.0.jar + - io.grpc-grpc-rls-1.72.0.jar + - io.grpc-grpc-servlet-1.72.0.jar + - io.grpc-grpc-servlet-jakarta-1.72.0.jar - io.grpc-grpc-util-1.60.0.jar + - io.grpc-grpc-opentelemetry-1.72.0.jar + - io.grpc-grpc-gcp-csm-observability-1.72.0.jar + - io.grpc-grpc-inprocess-1.72.0.jar * Perfmark - io.perfmark-perfmark-api-0.26.0.jar * OpenCensus - io.opencensus-opencensus-api-0.28.0.jar - io.opencensus-opencensus-contrib-http-util-0.28.0.jar - - io.opencensus-opencensus-proto-0.2.0.jar * Jodah - net.jodah-typetools-0.5.0.jar - dev.failsafe-failsafe-3.3.2.jar @@ -505,7 +510,7 @@ The Apache Software License, Version 2.0 * Google HTTP Client - com.google.http-client-google-http-client-gson-1.41.0.jar - com.google.http-client-google-http-client-1.41.0.jar - - com.google.auto.value-auto-value-annotations-1.10.1.jar + - com.google.auto.value-auto-value-annotations-1.11.0.jar - com.google.re2j-re2j-1.7.jar * Jetcd - shaded * IPAddress @@ -536,6 +541,8 @@ The Apache Software License, Version 2.0 - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java17-1.33.3-alpha.jar - io.opentelemetry.instrumentation-opentelemetry-runtime-telemetry-java8-1.33.3-alpha.jar - io.opentelemetry.semconv-opentelemetry-semconv-1.29.0-alpha.jar + - com.google.cloud.opentelemetry-detector-resources-support-0.33.0.jar + - io.opentelemetry.contrib-opentelemetry-gcp-resources-1.43.0-alpha.jar * Spotify completable-futures - com.spotify-completable-futures-0.3.6.jar * JSpecify @@ -543,8 +550,8 @@ The Apache Software License, Version 2.0 BSD 3-clause "New" or "Revised" License * Google auth library - - com.google.auth-google-auth-library-credentials-1.4.0.jar -- ../licenses/LICENSE-google-auth-library.txt - - com.google.auth-google-auth-library-oauth2-http-1.4.0.jar -- ../licenses/LICENSE-google-auth-library.txt + - com.google.auth-google-auth-library-credentials-1.24.1.jar -- ../licenses/LICENSE-google-auth-library.txt + - com.google.auth-google-auth-library-oauth2-http-1.24.1.jar -- ../licenses/LICENSE-google-auth-library.txt * LevelDB -- (included in org.rocksdb.*.jar) -- ../licenses/LICENSE-LevelDB.txt * JSR305 -- com.google.code.findbugs-jsr305-3.0.2.jar -- ../licenses/LICENSE-JSR305.txt * JLine -- jline-jline-2.14.6.jar -- ../licenses/LICENSE-JLine.txt diff --git a/distribution/shell/src/assemble/LICENSE.bin.txt b/distribution/shell/src/assemble/LICENSE.bin.txt index a9a55d3886e..0de0839cf51 100644 --- a/distribution/shell/src/assemble/LICENSE.bin.txt +++ b/distribution/shell/src/assemble/LICENSE.bin.txt @@ -339,13 +339,14 @@ The Apache Software License, Version 2.0 - sketches-core-0.8.3.jar * Apache Commons - commons-codec-1.18.0.jar - - commons-configuration-1.10.jar - commons-io-2.19.0.jar - - commons-lang-2.6.jar - commons-logging-1.2.jar - commons-lang3-3.17.0.jar - commons-text-1.13.1.jar - commons-compress-1.27.1.jar + - commons-beanutils-1.11.0.jar + - commons-collections-3.2.2.jar + - commons-configuration2-2.12.0.jar * Netty - netty-buffer-4.1.122.Final.jar - netty-codec-4.1.122.Final.jar @@ -393,9 +394,9 @@ The Apache Software License, Version 2.0 - opentelemetry-context-1.45.0.jar * BookKeeper - - bookkeeper-common-allocator-4.17.1.jar - - cpu-affinity-4.17.1.jar - - circe-checksum-4.17.1.jar + - bookkeeper-common-allocator-4.17.2.jar + - cpu-affinity-4.17.2.jar + - circe-checksum-4.17.2.jar * AirCompressor - aircompressor-0.27.jar * AsyncHttpClient diff --git a/pom.xml b/pom.xml index 407ea3ddc43..6f430a7c142 100644 --- a/pom.xml +++ b/pom.xml @@ -137,7 +137,7 @@ flexible messaging model and an intuitive client API.</description> <!-- apache commons --> <commons-compress.version>1.27.1</commons-compress.version> - <bookkeeper.version>4.17.1</bookkeeper.version> + <bookkeeper.version>4.17.2</bookkeeper.version> <zookeeper.version>3.9.3</zookeeper.version> <commons-cli.version>1.9.0</commons-cli.version> <commons-text.version>1.13.1</commons-text.version> @@ -170,7 +170,7 @@ flexible messaging model and an intuitive client API.</description> <zt-zip.version>1.17</zt-zip.version> <protobuf3.version>3.25.5</protobuf3.version> <protoc3.version>${protobuf3.version}</protoc3.version> - <grpc.version>1.56.1</grpc.version> + <grpc.version>1.72.0</grpc.version> <google-http-client.version>1.41.0</google-http-client.version> <perfmark.version>0.26.0</perfmark.version> <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> <opentelemetry.instrumentation.alpha.version>${opentelemetry.instrumentation.version}-alpha</opentelemetry.instrumentation.alpha.version> <opentelemetry.semconv.version>1.29.0-alpha</opentelemetry.semconv.version> <picocli.version>4.7.5</picocli.version> + <re2j.version>1.7</re2j.version> <completable-futures.version>0.3.6</completable-futures.version> <failsafe.version>3.3.2</failsafe.version> @@ -662,6 +663,12 @@ flexible messaging model and an intuitive client API.</description> <version>${bookkeeper.version}</version> </dependency> + <dependency> + <groupId>com.google.re2j</groupId> + <artifactId>re2j</artifactId> + <version>${re2j.version}</version> + </dependency> + <dependency> <groupId>com.spotify</groupId> <artifactId>completable-futures</artifactId> diff --git a/pulsar-broker-common/src/main/java/org/apache/pulsar/bookie/rackawareness/BookieRackAffinityMapping.java b/pulsar-broker-common/src/main/java/org/apache/pulsar/bookie/rackawareness/BookieRackAffinityMapping.java index 4a5ff746f40..2df4dc22c14 100644 --- a/pulsar-broker-common/src/main/java/org/apache/pulsar/bookie/rackawareness/BookieRackAffinityMapping.java +++ b/pulsar-broker-common/src/main/java/org/apache/pulsar/bookie/rackawareness/BookieRackAffinityMapping.java @@ -40,7 +40,7 @@ import org.apache.bookkeeper.net.BookieId; import org.apache.bookkeeper.net.BookieNode; import org.apache.bookkeeper.net.BookieSocketAddress; import org.apache.bookkeeper.proto.BookieAddressResolver; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.lang3.StringUtils; import org.apache.pulsar.common.policies.data.BookieInfo; import org.apache.pulsar.common.policies.data.BookiesRackConfiguration; 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 2d031cc8a74..7be3d16d49b 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java @@ -43,7 +43,7 @@ import org.apache.bookkeeper.conf.ServerConfiguration; import org.apache.bookkeeper.replication.AutoRecoveryMain; import org.apache.bookkeeper.server.conf.BookieConfiguration; import org.apache.bookkeeper.stats.StatsProvider; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.core.util.datetime.FixedDateFormat; import org.apache.pulsar.broker.PulsarServerException; diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java index 96ea8877c5b..267e4f7eac7 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java @@ -29,6 +29,7 @@ import org.apache.bookkeeper.conf.ServerConfiguration; import org.apache.bookkeeper.stream.storage.api.cluster.ClusterInitializer; import org.apache.bookkeeper.stream.storage.impl.cluster.ZkClusterInitializer; import org.apache.bookkeeper.util.BookKeeperConstants; +import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.pulsar.bookie.rackawareness.BookieRackAffinityMapping; import org.apache.pulsar.broker.resources.NamespaceResources; import org.apache.pulsar.broker.resources.PulsarResources; @@ -304,7 +305,7 @@ public class PulsarClusterMetadataSetup { // Format BookKeeper ledger storage metadata if (arguments.existingBkMetadataServiceUri == null && arguments.bookieMetadataServiceUri == null) { ServerConfiguration bkConf = new ServerConfiguration(); - bkConf.setDelimiterParsingDisabled(true); + bkConf.setListDelimiterHandler(new DisabledListDelimiterHandler()); bkConf.setMetadataServiceUri("metadata-store:" + arguments.metadataStoreUrl); bkConf.setZkTimeout(arguments.zkSessionTimeoutMillis); // only format if /ledgers doesn't exist diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/ManagedLedgerClientFactory.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/ManagedLedgerClientFactory.java index 00838f4dde0..37df618d856 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/ManagedLedgerClientFactory.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/ManagedLedgerClientFactory.java @@ -36,7 +36,7 @@ import org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.BookkeeperFac import org.apache.bookkeeper.stats.NullStatsProvider; import org.apache.bookkeeper.stats.StatsLogger; import org.apache.bookkeeper.stats.StatsProvider; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.pulsar.broker.stats.prometheus.metrics.PrometheusMetricsProvider; import org.apache.pulsar.broker.storage.ManagedLedgerStorage; import org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfig; diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusMetricsProvider.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusMetricsProvider.java index 19fa7c0d2d1..ea56c051c19 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusMetricsProvider.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusMetricsProvider.java @@ -31,7 +31,7 @@ import java.util.concurrent.TimeUnit; import org.apache.bookkeeper.stats.CachingStatsProvider; import org.apache.bookkeeper.stats.StatsLogger; import org.apache.bookkeeper.stats.StatsProvider; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.lang3.StringUtils; import org.apache.pulsar.client.util.ExecutorProvider; diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java b/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java index de3077959a4..3dbf4c4de2a 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java @@ -67,7 +67,7 @@ import org.apache.bookkeeper.stream.proto.NamespaceProperties; import org.apache.bookkeeper.stream.server.StreamStorageLifecycleComponent; import org.apache.bookkeeper.stream.storage.api.cluster.ClusterInitializer; import org.apache.bookkeeper.stream.storage.impl.cluster.ZkClusterInitializer; -import org.apache.commons.configuration.CompositeConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; import org.apache.commons.io.FileUtils; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/BookKeeperClientFactoryImplTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/BookKeeperClientFactoryImplTest.java index 3c0e4d0c409..ca73b979258 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/BookKeeperClientFactoryImplTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/BookKeeperClientFactoryImplTest.java @@ -36,7 +36,7 @@ import org.apache.bookkeeper.client.BookKeeper; import org.apache.bookkeeper.conf.ClientConfiguration; import org.apache.bookkeeper.net.CachedDNSToSwitchMapping; import org.apache.bookkeeper.stats.StatsLogger; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.pulsar.bookie.rackawareness.BookieRackAffinityMapping; import org.apache.pulsar.metadata.api.MetadataStore; diff --git a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/PulsarZooKeeperClient.java b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/PulsarZooKeeperClient.java index e8bfb39395a..6a995f20e74 100644 --- a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/PulsarZooKeeperClient.java +++ b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/PulsarZooKeeperClient.java @@ -255,8 +255,9 @@ public class PulsarZooKeeperClient extends ZooKeeper implements Watcher, AutoClo // Create a watcher manager StatsLogger watcherStatsLogger = statsLogger.scope("watcher"); ZooKeeperWatcherBase watcherManager = - null == watchers ? new ZooKeeperWatcherBase(sessionTimeoutMs, watcherStatsLogger) : - new ZooKeeperWatcherBase(sessionTimeoutMs, watchers, watcherStatsLogger); + null == watchers + ? new ZooKeeperWatcherBase(sessionTimeoutMs, allowReadOnlyMode, watcherStatsLogger) : + new ZooKeeperWatcherBase(sessionTimeoutMs, allowReadOnlyMode, watchers, watcherStatsLogger); PulsarZooKeeperClient client = new PulsarZooKeeperClient( connectString, sessionTimeoutMs, diff --git a/testmocks/src/main/java/org/apache/bookkeeper/client/TestStatsProvider.java b/testmocks/src/main/java/org/apache/bookkeeper/client/TestStatsProvider.java index 8dae84ab22f..43a39bf4f84 100644 --- a/testmocks/src/main/java/org/apache/bookkeeper/client/TestStatsProvider.java +++ b/testmocks/src/main/java/org/apache/bookkeeper/client/TestStatsProvider.java @@ -29,7 +29,7 @@ import org.apache.bookkeeper.stats.OpStatsData; import org.apache.bookkeeper.stats.OpStatsLogger; import org.apache.bookkeeper.stats.StatsLogger; import org.apache.bookkeeper.stats.StatsProvider; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.lang3.StringUtils; /**