diff --git a/distribution/server/licenses/LICENSE-Lombok.txt b/distribution/server/licenses/LICENSE-Lombok.txt deleted file mode 100644 index 5da7dbeff382d..0000000000000 --- a/distribution/server/licenses/LICENSE-Lombok.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) 2009-2015 The Project Lombok Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/distribution/server/pom.xml b/distribution/server/pom.xml index e9525df13ef77..739f82a0cbf7e 100644 --- a/distribution/server/pom.xml +++ b/distribution/server/pom.xml @@ -56,6 +56,12 @@ org.apache.pulsar pulsar-client-tools ${project.version} + + + io.grpc + grpc-testing + + diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 57f9638c62959..bd6e8ae5890ab 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -417,25 +417,25 @@ The Apache Software License, Version 2.0 * HttpClient - org.apache.httpcomponents-httpclient-4.5.5.jar - org.apache.httpcomponents-httpcore-4.4.9.jar - * Google Error Prone Annotations - com.google.errorprone-error_prone_annotations-2.1.2.jar + * Google Error Prone Annotations - com.google.errorprone-error_prone_annotations-2.2.0.jar * OkHttp - com.squareup.okhttp-okhttp-2.5.0.jar * Okio - com.squareup.okio-okio-1.13.0.jar * Javassist -- org.javassist-javassist-3.21.0-GA.jar * gRPC - - io.grpc-grpc-all-1.12.0.jar - - io.grpc-grpc-auth-1.12.0.jar - - io.grpc-grpc-context-1.12.0.jar - - io.grpc-grpc-core-1.12.0.jar - - io.grpc-grpc-netty-1.12.0.jar - - io.grpc-grpc-okhttp-1.12.0.jar - - io.grpc-grpc-protobuf-1.12.0.jar - - io.grpc-grpc-protobuf-lite-1.12.0.jar - - io.grpc-grpc-protobuf-nano-1.12.0.jar - - io.grpc-grpc-stub-1.12.0.jar + - io.grpc-grpc-all-1.16.1.jar + - io.grpc-grpc-auth-1.16.1.jar + - io.grpc-grpc-context-1.16.1.jar + - io.grpc-grpc-core-1.16.1.jar + - io.grpc-grpc-netty-1.16.1.jar + - io.grpc-grpc-okhttp-1.16.1.jar + - io.grpc-grpc-protobuf-1.16.1.jar + - io.grpc-grpc-protobuf-lite-1.16.1.jar + - io.grpc-grpc-protobuf-nano-1.16.1.jar + - io.grpc-grpc-stub-1.16.1.jar - io.grpc-grpc-testing-1.12.0.jar * OpenCensus - - io.opencensus-opencensus-api-0.11.0.jar - - io.opencensus-opencensus-contrib-grpc-metrics-0.11.0.jar + - io.opencensus-opencensus-api-0.12.3.jar + - io.opencensus-opencensus-contrib-grpc-metrics-0.12.3.jar * Paranamer - com.thoughtworks.paranamer-paranamer-2.7.jar * Jodah @@ -469,6 +469,8 @@ The Apache Software License, Version 2.0 - io.dropwizard.metrics-metrics-jvm-3.1.0.jar * Prometheus - io.prometheus-simpleclient_httpserver-0.5.0.jar + * JavaX Injection + - javax.inject-javax.inject-1.jar BSD 3-clause "New" or "Revised" License @@ -476,7 +478,7 @@ BSD 3-clause "New" or "Revised" License - com.google.auth-google-auth-library-credentials-0.9.0.jar -- licenses/LICENSE-google-auth-library.txt * JLine -- jline-jline-0.9.94.jar -- licenses/LICENSE.JLine.txt * LevelDB -- (included in org.rocksdb.*.jar) -- licenses/LICENSE-LevelDB.txt - * JSR305 -- com.google.code.findbugs-jsr305-3.0.0.jar -- licenses/LICENSE-JSR305.txt + * JSR305 -- com.google.code.findbugs-jsr305-3.0.2.jar -- licenses/LICENSE-JSR305.txt BSD 2-Clause License * HdrHistogram -- org.hdrhistogram-HdrHistogram-2.1.9.jar -- licenses/LICENSE-HdrHistogram.txt @@ -487,7 +489,8 @@ MIT License - org.slf4j-jul-to-slf4j-1.7.25.jar - org.slf4j-slf4j-api-1.7.25.jar - org.slf4j-jcl-over-slf4j-1.7.25.jar - * Lombok -- org.projectlombok-lombok-1.18.0.jar -- licenses/LICENSE-Lombok.txt + * Animal Sniffer Annotations + - org.codehaus.mojo-animal-sniffer-annotations-1.17.jar Protocol Buffers License * Protocol Buffers @@ -498,33 +501,36 @@ Protocol Buffers License CDDL-1.1 -- licenses/LICENSE-CDDL-1.1.txt * Java Annotations API - javax.annotation-javax.annotation-api-1.2.jar + - javax.activation-javax.activation-api-1.2.0.jar + - javax.xml.bind-activation-1.0.2.jar + - javax.xml.bind-jaxb-api-2.3.1.jar * Java Servlet API -- javax.servlet-javax.servlet-api-3.1.0.jar * WebSocket Server API -- javax.websocket-javax.websocket-client-api-1.0.jar * Java Web Service REST API -- javax.ws.rs-javax.ws.rs-api-2.1.jar * HK2 - Dependency Injection Kernel - - org.glassfish.hk2-hk2-api-2.5.0-b30.jar - - org.glassfish.hk2-hk2-locator-2.5.0-b30.jar - - org.glassfish.hk2-hk2-utils-2.5.0-b30.jar + - org.glassfish.hk2-hk2-api-2.5.0-b42.jar + - org.glassfish.hk2-hk2-locator-2.5.0-b42.jar + - org.glassfish.hk2-hk2-utils-2.5.0-b42.jar - org.glassfish.hk2-osgi-resource-locator-1.0.1.jar - - org.glassfish.hk2.external-aopalliance-repackaged-2.5.0-b30.jar - - org.glassfish.hk2.external-javax.inject-2.5.0-b30.jar + - org.glassfish.hk2.external-aopalliance-repackaged-2.5.0-b42.jar + - org.glassfish.hk2.external-javax.inject-2.5.0-b42.jar * Jersey - - org.glassfish.jersey.bundles.repackaged-jersey-guava-2.25.jar - - org.glassfish.jersey.containers-jersey-container-servlet-2.25.jar - - org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar - - org.glassfish.jersey.core-jersey-client-2.25.jar - - org.glassfish.jersey.core-jersey-common-2.25.jar - - org.glassfish.jersey.core-jersey-server-2.25.jar - - org.glassfish.jersey.ext-jersey-entity-filtering-2.25.jar - - org.glassfish.jersey.media-jersey-media-jaxb-2.25.jar - - org.glassfish.jersey.media-jersey-media-json-jackson-2.25.jar - - org.glassfish.jersey.media-jersey-media-multipart-2.25.jar + - org.glassfish.jersey.containers-jersey-container-servlet-2.27.jar + - org.glassfish.jersey.containers-jersey-container-servlet-core-2.27.jar + - org.glassfish.jersey.core-jersey-client-2.27.jar + - org.glassfish.jersey.core-jersey-common-2.27.jar + - org.glassfish.jersey.core-jersey-server-2.27.jar + - org.glassfish.jersey.ext-jersey-entity-filtering-2.27.jar + - org.glassfish.jersey.media-jersey-media-jaxb-2.27.jar + - org.glassfish.jersey.media-jersey-media-json-jackson-2.27.jar + - org.glassfish.jersey.media-jersey-media-multipart-2.27.jar + - org.glassfish.jersey.inject-jersey-hk2-2.27.jar * Mimepull -- org.jvnet.mimepull-mimepull-1.9.6.jar Eclipse Public License 1.0 -- licenses/LICENSE-AspectJ.txt * AspectJ - - org.aspectj-aspectjrt-1.9.1.jar - - org.aspectj-aspectjweaver-1.9.1.jar + - org.aspectj-aspectjrt-1.9.2.jar + - org.aspectj-aspectjweaver-1.9.2.jar Public Domain * XZ for Java -- licenses/LICENSE-xz.txt diff --git a/distribution/server/src/assemble/bin.xml b/distribution/server/src/assemble/bin.xml index 72ee09b4d8094..c2d5996506587 100644 --- a/distribution/server/src/assemble/bin.xml +++ b/distribution/server/src/assemble/bin.xml @@ -137,6 +137,8 @@ junit:junit + + org.projectlombok:lombok diff --git a/pom.xml b/pom.xml index ffdca398cf973..da02e5bcb21ce 100644 --- a/pom.xml +++ b/pom.xml @@ -146,10 +146,10 @@ flexible messaging model and an intuitive client API. 4.1.22.Final 1.0.5 9.4.12.v20180830 - 2.25 + 2.27 1.7.17 0.5.0 - 1.9.1 + 1.9.2 5.13.3 1.7.25 3.2.2 @@ -163,7 +163,7 @@ flexible messaging model and an intuitive client API. 2.4.1 3.5.1 3.5.1-1 - 1.12.0 + 1.16.1 1.0.0 2.8.2 0.8.3 @@ -181,6 +181,7 @@ flexible messaging model and an intuitive client API. 1.6.0 2.11 0.8.2 + 0.12.3 1.15.1 @@ -190,8 +191,9 @@ flexible messaging model and an intuitive client API. 1.8.0 - 0.5.0 + 0.6.1 1.6.0 + 1.11.1 @@ -520,6 +522,12 @@ flexible messaging model and an intuitive client API. jersey-client ${jersey.version} + + + org.glassfish.jersey.inject + jersey-hk2 + ${jersey.version} + org.glassfish.jersey.containers @@ -575,6 +583,12 @@ flexible messaging model and an intuitive client API. ${jackson.version} + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson.version} + + com.fasterxml.jackson.core jackson-annotations @@ -863,6 +877,41 @@ flexible messaging model and an intuitive client API. assertj-core 3.11.1 + + + org.projectlombok + lombok + 1.18.4 + + + + javax.annotation + javax.annotation-api + 1.2 + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + javax.xml.bind + activation + 1.0.2 + + + + io.opencensus + opencensus-api + ${opencensus.version} + + + io.opencensus + opencensus-contrib-grpc-metrics + ${opencensus.version} + @@ -908,7 +957,6 @@ flexible messaging model and an intuitive client API. org.projectlombok lombok - 1.18.0 provided @@ -1224,7 +1272,7 @@ flexible messaging model and an intuitive client API. maven-compiler-plugin - 3.7.0 + 3.8.0 org.apache.maven.plugins diff --git a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/JsonMapperProvider.java b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/JsonMapperProvider.java new file mode 100644 index 0000000000000..cb4ef7fff4b51 --- /dev/null +++ b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/JsonMapperProvider.java @@ -0,0 +1,36 @@ +/** + * 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.web; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import javax.ws.rs.ext.ContextResolver; +import javax.ws.rs.ext.Provider; + +import org.apache.pulsar.common.util.ObjectMapperFactory; + +@Provider +public class JsonMapperProvider implements ContextResolver { + private final ObjectMapper mapper = ObjectMapperFactory.create(); + + @Override + public ObjectMapper getContext(Class type) { + return mapper; + } +} \ No newline at end of file diff --git a/pulsar-broker/pom.xml b/pulsar-broker/pom.xml index b7905fec1e3be..7ba1f152881ed 100644 --- a/pulsar-broker/pom.xml +++ b/pulsar-broker/pom.xml @@ -174,6 +174,11 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider + + + org.glassfish.jersey.inject + jersey-hk2 + com.fasterxml.jackson.module @@ -277,14 +282,23 @@ test + + javax.xml.bind + jaxb-api + + + + javax.xml.bind + activation + - org.codehaus.mojo + com.github.m50d aspectj-maven-plugin - 1.10 + ${aspectj-maven-plugin.version} 1.8 1.8 diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java index 9fa6ac98cd396..04df62f59cc96 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java @@ -18,6 +18,10 @@ */ package org.apache.pulsar.broker.web; +import com.google.common.collect.Lists; + +import io.prometheus.client.jetty.JettyStatisticsCollector; + import java.security.GeneralSecurityException; import java.util.ArrayList; import java.util.EnumSet; @@ -29,7 +33,6 @@ import org.apache.pulsar.broker.PulsarServerException; import org.apache.pulsar.broker.PulsarService; -import org.apache.pulsar.common.util.ObjectMapperFactory; import org.apache.pulsar.common.util.SecurityUtility; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; @@ -54,11 +57,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; -import com.google.common.collect.Lists; - -import io.prometheus.client.jetty.JettyStatisticsCollector; - /** * Web Service embedded into Pulsar */ @@ -111,11 +109,9 @@ public WebService(PulsarService pulsar) throws PulsarServerException { } public void addRestResources(String basePath, String javaPackages, boolean requiresAuthentication, Map attributeMap) { - JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider(); - provider.setMapper(ObjectMapperFactory.create()); ResourceConfig config = new ResourceConfig(); config.packages("jersey.config.server.provider.packages", javaPackages); - config.register(provider); + config.register(JsonMapperProvider.class); config.register(MultiPartFeature.class); ServletHolder servletHolder = new ServletHolder(new ServletContainer(config)); servletHolder.setAsyncSupported(true); diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/auth/MockedPulsarServiceBaseTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/auth/MockedPulsarServiceBaseTest.java index aa6dd7150c42c..e0130d2fa0ebf 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/auth/MockedPulsarServiceBaseTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/auth/MockedPulsarServiceBaseTest.java @@ -21,6 +21,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; +import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.io.IOException; @@ -29,8 +30,8 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; import java.util.function.Supplier; @@ -38,17 +39,13 @@ import org.apache.bookkeeper.client.BKException; import org.apache.bookkeeper.client.BookKeeper; import org.apache.bookkeeper.client.PulsarMockBookKeeper; -import org.apache.bookkeeper.conf.ClientConfiguration; import org.apache.bookkeeper.test.PortManager; import org.apache.bookkeeper.util.ZkUtils; import org.apache.pulsar.broker.BookKeeperClientFactory; import org.apache.pulsar.broker.PulsarService; import org.apache.pulsar.broker.ServiceConfiguration; import org.apache.pulsar.broker.namespace.NamespaceService; -import org.apache.pulsar.broker.service.schema.BookkeeperSchemaStorage; import org.apache.pulsar.client.admin.PulsarAdmin; -import org.apache.pulsar.client.api.Authentication; -import org.apache.pulsar.client.api.Message; import org.apache.pulsar.client.api.PulsarClient; import org.apache.pulsar.compaction.Compactor; import org.apache.pulsar.zookeeper.ZooKeeperClientFactory; @@ -60,8 +57,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.util.concurrent.MoreExecutors; - /** * Base class for all tests that need a Pulsar instance without a ZK and BK cluster */ diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/functions/worker/PulsarWorkerAssignmentTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/functions/worker/PulsarWorkerAssignmentTest.java index 1b4c2aa30c981..5210491eed433 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/functions/worker/PulsarWorkerAssignmentTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/functions/worker/PulsarWorkerAssignmentTest.java @@ -23,6 +23,9 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + import java.lang.reflect.Method; import java.net.InetAddress; import java.net.URI; @@ -40,11 +43,11 @@ import org.apache.pulsar.client.admin.PulsarAdminException; import org.apache.pulsar.client.api.ClientBuilder; import org.apache.pulsar.client.api.PulsarClient; +import org.apache.pulsar.common.functions.FunctionConfig; import org.apache.pulsar.common.functions.Utils; import org.apache.pulsar.common.policies.data.ClusterData; import org.apache.pulsar.common.policies.data.TenantInfo; import org.apache.pulsar.functions.proto.Function.Assignment; -import org.apache.pulsar.common.functions.FunctionConfig; import org.apache.pulsar.zookeeper.LocalBookkeeperEnsemble; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,10 +55,6 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import com.google.common.collect.Sets; - -import jersey.repackaged.com.google.common.collect.Lists; - /** * Test Pulsar sink on function * diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionAdminTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionAdminTest.java index 415a81493a313..a2a5b283cd932 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionAdminTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionAdminTest.java @@ -21,6 +21,9 @@ import static org.apache.commons.lang3.StringUtils.isNotBlank; import static org.mockito.Mockito.spy; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + import java.lang.reflect.Method; import java.net.InetAddress; import java.net.URL; @@ -53,10 +56,6 @@ import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; -import com.google.common.collect.Sets; - -import jersey.repackaged.com.google.common.collect.Lists; - /** * Test Pulsar sink on function * diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionE2ETest.java b/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionE2ETest.java index 4dbdf3b250b0b..6d8963434efc0 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionE2ETest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/io/PulsarFunctionE2ETest.java @@ -26,10 +26,17 @@ import static org.testng.Assert.assertNotEquals; import static org.testng.Assert.assertTrue; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + import java.lang.reflect.Method; import java.net.InetAddress; import java.net.URL; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.TimeUnit; import com.fasterxml.jackson.databind.ObjectMapper; @@ -42,8 +49,15 @@ import org.apache.pulsar.client.admin.BrokerStats; import org.apache.pulsar.client.admin.PulsarAdmin; import org.apache.pulsar.client.admin.PulsarAdminException; -import org.apache.pulsar.client.api.*; +import org.apache.pulsar.client.api.Authentication; +import org.apache.pulsar.client.api.ClientBuilder; +import org.apache.pulsar.client.api.Consumer; +import org.apache.pulsar.client.api.Message; +import org.apache.pulsar.client.api.Producer; +import org.apache.pulsar.client.api.PulsarClient; +import org.apache.pulsar.client.api.Schema; import org.apache.pulsar.client.impl.auth.AuthenticationTls; +import org.apache.pulsar.common.functions.FunctionConfig; import org.apache.pulsar.common.functions.Utils; import org.apache.pulsar.common.policies.data.ClusterData; import org.apache.pulsar.common.policies.data.FunctionStats; @@ -51,7 +65,6 @@ import org.apache.pulsar.common.policies.data.TenantInfo; import org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus; import org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatusList; -import org.apache.pulsar.common.functions.FunctionConfig; import org.apache.pulsar.functions.worker.FunctionRuntimeManager; import org.apache.pulsar.functions.worker.WorkerConfig; import org.apache.pulsar.functions.worker.WorkerService; @@ -63,10 +76,6 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -import com.google.common.collect.Sets; - -import jersey.repackaged.com.google.common.collect.Lists; - /** * Test Pulsar sink on function * diff --git a/pulsar-client-admin/pom.xml b/pulsar-client-admin/pom.xml index 79625bf74077e..b87962f67b820 100644 --- a/pulsar-client-admin/pom.xml +++ b/pulsar-client-admin/pom.xml @@ -66,6 +66,21 @@ jackson-jaxrs-json-provider + + org.glassfish.jersey.inject + jersey-hk2 + + + + javax.xml.bind + jaxb-api + + + + javax.xml.bind + activation + + org.slf4j jul-to-slf4j diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Topics.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Topics.java index 199427502714b..f3f95ac9fc457 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Topics.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Topics.java @@ -36,7 +36,6 @@ import org.apache.pulsar.common.policies.data.PartitionedTopicStats; import org.apache.pulsar.common.policies.data.PersistentTopicInternalStats; import org.apache.pulsar.common.policies.data.TopicStats; -import org.omg.CosNaming.NamingContextPackage.NotFound; import com.google.gson.JsonObject; diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TenantInfo.java b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TenantInfo.java index c03eb911ff12b..b8f6b635a802b 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TenantInfo.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TenantInfo.java @@ -22,11 +22,8 @@ import java.util.Set; -import javax.xml.bind.annotation.XmlRootElement; - import lombok.Data; -@XmlRootElement @Data public class TenantInfo { /** diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java b/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java index 6353dfa7fe1fc..15dfd861b1090 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmMetrics.java @@ -18,31 +18,32 @@ */ package org.apache.pulsar.common.stats; +import com.google.common.collect.Lists; + +import io.netty.buffer.PoolArenaMetric; +import io.netty.buffer.PoolChunkListMetric; +import io.netty.buffer.PoolChunkMetric; +import io.netty.buffer.PooledByteBufAllocator; +import io.netty.util.internal.PlatformDependent; + +import java.lang.management.BufferPoolMXBean; import java.lang.management.ManagementFactory; import java.lang.reflect.Field; +import java.nio.ByteBuffer; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; import javax.management.MBeanServer; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; -import org.apache.pulsar.common.stats.Metrics; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; - -import io.netty.buffer.PoolArenaMetric; -import io.netty.buffer.PoolChunkListMetric; -import io.netty.buffer.PoolChunkMetric; -import io.netty.buffer.PooledByteBufAllocator; -import io.netty.util.internal.PlatformDependent; -import java.util.concurrent.atomic.AtomicLong; - public class JvmMetrics { private volatile long accumulatedYoungGcCount = 0; @@ -54,10 +55,10 @@ public class JvmMetrics { private volatile long currentOldGcCount = 0; private volatile long accumulatedOldGcTime = 0; private volatile long currentOldGcTime = 0; - + private static final Logger log = LoggerFactory.getLogger(JvmMetrics.class); private static Field directMemoryUsage = null; - + private final String componentName; static { try { @@ -87,7 +88,7 @@ public List generate() { m.put("jvm_total_memory", r.totalMemory()); m.put("jvm_direct_memory_used", getJvmDirectMemoryUsed()); - m.put("jvm_max_direct_memory", sun.misc.VM.maxDirectMemory()); + m.put("jvm_max_direct_memory", PlatformDependent.maxDirectMemory()); m.put("jvm_thread_cnt", getThreadCount()); m.put("jvm_gc_young_pause", currentYoungGcTime); @@ -127,7 +128,18 @@ public static long getJvmDirectMemoryUsed() { } } } - return sun.misc.SharedSecrets.getJavaNioAccess().getDirectBufferPool().getMemoryUsed(); + + + + List pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); + for (BufferPoolMXBean pool : pools) { + if (pool.getName().equals("direct")) { + return pool.getMemoryUsed(); + } + } + + // Couldnt get direct memory usage + return -1; } private static ObjectName youngGenName = null; @@ -178,7 +190,7 @@ private long getThreadCount() { return parentThreadGroup.activeCount(); } - + private Metrics createMetrics() { return createMetrics(Collections.singletonMap("metric", "jvm_metrics")); } diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/stats/Metrics.java b/pulsar-common/src/main/java/org/apache/pulsar/common/stats/Metrics.java index 045acc142adef..fe52ee8344816 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/stats/Metrics.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/stats/Metrics.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.google.common.base.Objects; import com.google.common.collect.Maps; @@ -47,7 +46,7 @@ public Metrics() { metrics = Maps.newTreeMap(); dimensions = Maps.newHashMap(); } - + // hide constructor protected Metrics(Map unmodifiableDimensionMap) { this.metrics = Maps.newTreeMap(); diff --git a/pulsar-discovery-service/pom.xml b/pulsar-discovery-service/pom.xml index 5480013b6f1ba..04e5cd2024181 100644 --- a/pulsar-discovery-service/pom.xml +++ b/pulsar-discovery-service/pom.xml @@ -126,6 +126,21 @@ io.swagger swagger-annotations + + + org.glassfish.jersey.inject + jersey-hk2 + + + + javax.xml.bind + jaxb-api + + + + javax.xml.bind + activation + ${project.groupId} diff --git a/pulsar-functions/pom.xml b/pulsar-functions/pom.xml index 6de88a8399f0a..06ceca535a498 100644 --- a/pulsar-functions/pom.xml +++ b/pulsar-functions/pom.xml @@ -45,24 +45,4 @@ secrets - - - - - org.projectlombok - lombok - 1.16.12 - - - - - - - - org.projectlombok - lombok - provided - - - diff --git a/pulsar-functions/proto/pom.xml b/pulsar-functions/proto/pom.xml index 951639f94b880..5bae18352ddbf 100644 --- a/pulsar-functions/proto/pom.xml +++ b/pulsar-functions/proto/pom.xml @@ -41,6 +41,17 @@ ${protobuf3.version} + + com.google.protobuf + protobuf-java-util + ${protobuf3.version} + + + + javax.annotation + javax.annotation-api + + io.grpc grpc-all diff --git a/pulsar-functions/runtime/src/test/resources/log4j2.yml b/pulsar-functions/runtime/src/test/resources/log4j2.yml deleted file mode 100644 index fb99e32df6c56..0000000000000 --- a/pulsar-functions/runtime/src/test/resources/log4j2.yml +++ /dev/null @@ -1,37 +0,0 @@ -# -# 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. -# - -Configuration: - name: test - - Appenders: - - # Console - Console: - name: Console - target: SYSTEM_OUT - PatternLayout: - Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" - - Loggers: - - Root: - level: info - AppenderRef: - - ref: Console \ No newline at end of file diff --git a/pulsar-functions/worker/src/test/resources/log4j2.yml b/pulsar-functions/worker/src/test/resources/log4j2.yml deleted file mode 100644 index 807c8b4657b77..0000000000000 --- a/pulsar-functions/worker/src/test/resources/log4j2.yml +++ /dev/null @@ -1,37 +0,0 @@ -# -# 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. -# - -Configuration: - name: test - - Appenders: - - # Console - Console: - name: Console - target: SYSTEM_OUT - PatternLayout: - Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" - - Loggers: - - Root: - level: info - AppenderRef: - - ref: Console diff --git a/pulsar-proxy/pom.xml b/pulsar-proxy/pom.xml index 47955d3fe58c4..05e2b396af8c7 100644 --- a/pulsar-proxy/pom.xml +++ b/pulsar-proxy/pom.xml @@ -89,6 +89,21 @@ jackson-jaxrs-json-provider + + org.glassfish.jersey.inject + jersey-hk2 + + + + javax.xml.bind + jaxb-api + + + + javax.xml.bind + activation + + org.slf4j jul-to-slf4j diff --git a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/WebServer.java b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/WebServer.java index cf4469bfcdf22..76e3b4018e3c9 100644 --- a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/WebServer.java +++ b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/WebServer.java @@ -39,6 +39,7 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.pulsar.broker.authentication.AuthenticationService; import org.apache.pulsar.broker.web.AuthenticationFilter; +import org.apache.pulsar.broker.web.JsonMapperProvider; import org.apache.pulsar.common.util.ObjectMapperFactory; import org.apache.pulsar.common.util.SecurityUtility; import org.eclipse.jetty.server.Connector; @@ -148,11 +149,9 @@ public void addServlet(String basePath, ServletHolder servletHolder, List - org.codehaus.mojo + com.github.m50d aspectj-maven-plugin + ${aspectj-maven-plugin.version} 1.8 1.8 diff --git a/pulsar-zookeeper/pom.xml b/pulsar-zookeeper/pom.xml index 4bab4dd42863e..e2371d852edd4 100644 --- a/pulsar-zookeeper/pom.xml +++ b/pulsar-zookeeper/pom.xml @@ -80,9 +80,9 @@ - org.codehaus.mojo + com.github.m50d aspectj-maven-plugin - 1.10 + ${aspectj-maven-plugin.version} 1.8 1.8