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