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
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
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