diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
index 3131392c8c730..98854287cd415 100644
--- a/distribution/server/src/assemble/LICENSE.bin.txt
+++ b/distribution/server/src/assemble/LICENSE.bin.txt
@@ -390,31 +390,31 @@ The Apache Software License, Version 2.0
- org.apache.logging.log4j-log4j-1.2-api-2.14.0.jar
* Java Native Access JNA -- net.java.dev.jna-jna-4.2.0.jar
* BookKeeper
- - org.apache.bookkeeper-bookkeeper-common-4.13.0.jar
- - org.apache.bookkeeper-bookkeeper-common-allocator-4.13.0.jar
- - org.apache.bookkeeper-bookkeeper-proto-4.13.0.jar
- - org.apache.bookkeeper-bookkeeper-server-4.13.0.jar
- - org.apache.bookkeeper-bookkeeper-tools-framework-4.13.0.jar
- - org.apache.bookkeeper-circe-checksum-4.13.0.jar
- - org.apache.bookkeeper-cpu-affinity-4.13.0.jar
- - org.apache.bookkeeper-statelib-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-api-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-common-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-java-client-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-java-client-base-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-proto-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-server-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-service-api-4.13.0.jar
- - org.apache.bookkeeper-stream-storage-service-impl-4.13.0.jar
- - org.apache.bookkeeper.http-http-server-4.13.0.jar
- - org.apache.bookkeeper.http-vertx-http-server-4.13.0.jar
- - org.apache.bookkeeper.stats-bookkeeper-stats-api-4.13.0.jar
- - org.apache.bookkeeper.stats-prometheus-metrics-provider-4.13.0.jar
- - org.apache.distributedlog-distributedlog-common-4.13.0.jar
- - org.apache.distributedlog-distributedlog-core-4.13.0-tests.jar
- - org.apache.distributedlog-distributedlog-core-4.13.0.jar
- - org.apache.distributedlog-distributedlog-protocol-4.13.0.jar
- - org.apache.bookkeeper.stats-codahale-metrics-provider-4.13.0.jar
+ - org.apache.bookkeeper-bookkeeper-common-4.14.1.jar
+ - org.apache.bookkeeper-bookkeeper-common-allocator-4.14.1.jar
+ - org.apache.bookkeeper-bookkeeper-proto-4.14.1.jar
+ - org.apache.bookkeeper-bookkeeper-server-4.14.1.jar
+ - org.apache.bookkeeper-bookkeeper-tools-framework-4.14.1.jar
+ - org.apache.bookkeeper-circe-checksum-4.14.1.jar
+ - org.apache.bookkeeper-cpu-affinity-4.14.1.jar
+ - org.apache.bookkeeper-statelib-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-api-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-common-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-java-client-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-java-client-base-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-proto-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-server-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-service-api-4.14.1.jar
+ - org.apache.bookkeeper-stream-storage-service-impl-4.14.1.jar
+ - org.apache.bookkeeper.http-http-server-4.14.1.jar
+ - org.apache.bookkeeper.http-vertx-http-server-4.14.1.jar
+ - org.apache.bookkeeper.stats-bookkeeper-stats-api-4.14.1.jar
+ - org.apache.bookkeeper.stats-prometheus-metrics-provider-4.14.1.jar
+ - org.apache.distributedlog-distributedlog-common-4.14.1.jar
+ - org.apache.distributedlog-distributedlog-core-4.14.1-tests.jar
+ - org.apache.distributedlog-distributedlog-core-4.14.1.jar
+ - org.apache.distributedlog-distributedlog-protocol-4.14.1.jar
+ - org.apache.bookkeeper.stats-codahale-metrics-provider-4.14.1.jar
* Apache HTTP Client
- org.apache.httpcomponents-httpclient-4.5.13.jar
- org.apache.httpcomponents-httpcore-4.4.13.jar
diff --git a/pom.xml b/pom.xml
index a8985e7510ea7..c878fc89c4ba7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,7 +103,7 @@ flexible messaging model and an intuitive client API.
1.19
- 4.13.0
+ 4.14.1
3.6.2
1.1.7
3.2.5
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesOpStatsLogger.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesOpStatsLogger.java
index 3932e166a5cd1..70a2c5bc79429 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesOpStatsLogger.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesOpStatsLogger.java
@@ -54,7 +54,7 @@ public class DataSketchesOpStatsLogger implements OpStatsLogger {
private final LongAdder successSumAdder = new LongAdder();
private final LongAdder failSumAdder = new LongAdder();
- DataSketchesOpStatsLogger() {
+ public DataSketchesOpStatsLogger() {
this.current = new ThreadLocalAccessor();
this.replacement = new ThreadLocalAccessor();
}
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesSummaryLogger.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesSummaryLogger.java
index 11734c2f804a3..7a5f92a97ff30 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesSummaryLogger.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/DataSketchesSummaryLogger.java
@@ -44,7 +44,7 @@ public class DataSketchesSummaryLogger {
private final LongAdder countAdder = new LongAdder();
private final LongAdder sumAdder = new LongAdder();
- DataSketchesSummaryLogger() {
+ public DataSketchesSummaryLogger() {
this.current = new ThreadLocalAccessor();
this.replacement = new ThreadLocalAccessor();
}
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/LongAdderCounter.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/LongAdderCounter.java
new file mode 100644
index 0000000000000..39be12b35509b
--- /dev/null
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/LongAdderCounter.java
@@ -0,0 +1,61 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.pulsar.broker.stats.prometheus.metrics;
+
+import java.util.concurrent.atomic.LongAdder;
+import org.apache.bookkeeper.stats.Counter;
+
+/**
+ * {@link Counter} implementation based on {@link LongAdder}.
+ *
+ *
LongAdder keeps a counter per-thread and then aggregates to get the result, in order to avoid contention between
+ * multiple threads.
+ */
+public class LongAdderCounter implements Counter {
+ private final LongAdder counter = new LongAdder();
+
+ public LongAdderCounter() {
+
+ }
+
+ @Override
+ public void clear() {
+ counter.reset();
+ }
+
+ @Override
+ public void inc() {
+ counter.increment();
+ }
+
+ @Override
+ public void dec() {
+ counter.decrement();
+ }
+
+ @Override
+ public void add(long delta) {
+ counter.add(delta);
+ }
+
+ @Override
+ public Long get() {
+ return counter.sum();
+ }
+}
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/ObserverGauge.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/ObserverGauge.java
index da872e6c8a6e4..21ff600f81ab5 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/ObserverGauge.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/ObserverGauge.java
@@ -32,6 +32,8 @@ public class ObserverGauge extends SimpleCollector implemen
public static class Builder extends SimpleCollector.Builder {
private Supplier supplier;
+ public Builder() {}
+
public Builder supplier(Supplier supplier) {
this.supplier = supplier;
return this;
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 4efc73cc6423c..dfb27f4c92c27 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,6 @@
import org.apache.bookkeeper.stats.CachingStatsProvider;
import org.apache.bookkeeper.stats.StatsLogger;
import org.apache.bookkeeper.stats.StatsProvider;
-import org.apache.bookkeeper.stats.prometheus.LongAdderCounter;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang.StringUtils;
@@ -52,9 +51,9 @@ public class PrometheusMetricsProvider implements StatsProvider {
/**
* These acts a registry of the metrics defined in this provider.
*/
- final ConcurrentMap counters = new ConcurrentSkipListMap<>();
- final ConcurrentMap> gauges = new ConcurrentSkipListMap<>();
- final ConcurrentMap opStats = new ConcurrentSkipListMap<>();
+ public final ConcurrentMap counters = new ConcurrentSkipListMap<>();
+ public final ConcurrentMap> gauges = new ConcurrentSkipListMap<>();
+ public final ConcurrentMap opStats = new ConcurrentSkipListMap<>();
public PrometheusMetricsProvider() {
this.cachingStatsProvider = new CachingStatsProvider(new StatsProvider() {
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusStatsLogger.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusStatsLogger.java
index ad3c62f78d731..43efcc9b0b812 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusStatsLogger.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusStatsLogger.java
@@ -24,7 +24,6 @@
import org.apache.bookkeeper.stats.Gauge;
import org.apache.bookkeeper.stats.OpStatsLogger;
import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.bookkeeper.stats.prometheus.LongAdderCounter;
/**
* A {@code Prometheus} based {@link StatsLogger} implementation.
@@ -34,7 +33,7 @@ public class PrometheusStatsLogger implements StatsLogger {
private final PrometheusMetricsProvider provider;
private final String scope;
- PrometheusStatsLogger(PrometheusMetricsProvider provider, String scope) {
+ public PrometheusStatsLogger(PrometheusMetricsProvider provider, String scope) {
this.provider = provider;
this.scope = scope;
}
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusTextFormatUtil.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusTextFormatUtil.java
index bed78d39bb0da..7550096c2b584 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusTextFormatUtil.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/PrometheusTextFormatUtil.java
@@ -141,7 +141,8 @@ private static void writeSum(Writer w, DataSketchesOpStatsLogger opStat, String
.append(Double.toString(opStat.getSum(success))).append('\n');
}
- static void writeMetricsCollectedByPrometheusClient(Writer w, CollectorRegistry registry) throws IOException {
+ public static void writeMetricsCollectedByPrometheusClient(Writer w, CollectorRegistry registry)
+ throws IOException {
Enumeration metricFamilySamples = registry.metricFamilySamples();
while (metricFamilySamples.hasMoreElements()) {
MetricFamilySamples metricFamily = metricFamilySamples.nextElement();
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/SimpleGauge.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/SimpleGauge.java
index a93a26c1bd1e6..612168a2d9143 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/SimpleGauge.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/metrics/SimpleGauge.java
@@ -31,7 +31,7 @@ public SimpleGauge(final Gauge gauge) {
this.gauge = gauge;
}
- Number getSample() {
+ public Number getSample() {
return gauge.getSample();
}
}
diff --git a/pulsar-sql/presto-distribution/LICENSE b/pulsar-sql/presto-distribution/LICENSE
index 828aa56fe81dd..d1a9dbf08a59b 100644
--- a/pulsar-sql/presto-distribution/LICENSE
+++ b/pulsar-sql/presto-distribution/LICENSE
@@ -413,18 +413,18 @@ 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.13.0.jar
- - bookkeeper-common-allocator-4.13.0.jar
- - bookkeeper-proto-4.13.0.jar
- - bookkeeper-server-4.13.0.jar
- - bookkeeper-stats-api-4.13.0.jar
- - bookkeeper-tools-framework-4.13.0.jar
- - circe-checksum-4.13.0.jar
- - codahale-metrics-provider-4.13.0.jar
- - cpu-affinity-4.13.0.jar
- - http-server-4.13.0.jar
- - prometheus-metrics-provider-4.13.0.jar
- - codahale-metrics-provider-4.13.0.jar
+ - bookkeeper-common-4.14.1.jar
+ - bookkeeper-common-allocator-4.14.1.jar
+ - bookkeeper-proto-4.14.1.jar
+ - bookkeeper-server-4.14.1.jar
+ - bookkeeper-stats-api-4.14.1.jar
+ - bookkeeper-tools-framework-4.14.1.jar
+ - circe-checksum-4.14.1.jar
+ - codahale-metrics-provider-4.14.1.jar
+ - cpu-affinity-4.14.1.jar
+ - http-server-4.14.1.jar
+ - prometheus-metrics-provider-4.14.1.jar
+ - codahale-metrics-provider-4.14.1.jar
* Apache Commons
- commons-cli-1.2.jar
- commons-codec-1.10.jar