You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2020/11/12 22:22:41 UTC

[pulsar] branch master updated: Make pulsar-brokers gradually conform project checkstyle (#8520)

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new bf00673  Make pulsar-brokers gradually conform project checkstyle (#8520)
bf00673 is described below

commit bf00673fa0a2b35b22c00e47a72fca1d28a6f05f
Author: Renkai <ga...@gmail.com>
AuthorDate: Fri Nov 13 06:22:24 2020 +0800

    Make pulsar-brokers gradually conform project checkstyle (#8520)
---
 .../resources/pulsar/checkstyle-pulsar-broker.xml  | 78 ++++++++++++++++++++--
 .../src/main/resources/pulsar/checkstyle.xml       | 65 ++++++++----------
 .../src/main/resources/pulsar/suppressions.xml     | 27 ++++++--
 pom.xml                                            | 30 ++++-----
 .../org/apache/pulsar/PulsarBrokerStarter.java     | 13 ++--
 .../apache/pulsar/PulsarClusterMetadataSetup.java  |  5 +-
 .../pulsar/PulsarClusterMetadataTeardown.java      |  7 +-
 .../apache/pulsar/PulsarInitialNamespaceSetup.java |  3 +-
 .../java/org/apache/pulsar/PulsarStandalone.java   |  3 -
 .../org/apache/pulsar/PulsarStandaloneBuilder.java |  3 +-
 .../org/apache/pulsar/PulsarStandaloneStarter.java |  5 +-
 .../pulsar/broker/BookKeeperClientFactory.java     |  1 -
 .../apache/pulsar/broker/admin/AdminResource.java  |  7 ++
 .../broker/admin/impl/PersistentTopicsBase.java    | 15 ++---
 .../apache/pulsar/broker/admin/impl/SinksBase.java |  7 +-
 .../pulsar/broker/admin/impl/SourcesBase.java      |  7 +-
 .../pulsar/broker/cache/ResourceQuotaCache.java    |  2 +-
 .../pulsar/broker/loadbalance/BrokerFilter.java    |  4 +-
 .../broker/loadbalance/LeaderElectionService.java  |  2 +-
 .../pulsar/broker/loadbalance/LoadReport.java      |  6 +-
 .../broker/loadbalance/LoadReportUpdaterTask.java  |  1 -
 .../loadbalance/LoadResourceQuotaUpdaterTask.java  |  1 -
 .../broker/loadbalance/LoadSheddingTask.java       |  1 -
 .../broker/loadbalance/PlacementStrategy.java      |  2 +-
 .../pulsar/broker/loadbalance/ResourceUnit.java    |  6 +-
 .../loadbalance/impl/BrokerVersionFilter.java      |  4 +-
 .../broker/loadbalance/impl/LoadManagerShared.java |  3 +-
 .../pulsar/broker/namespace/NamespaceService.java  |  2 +-
 .../broker/namespace/ServiceUnitZkUtils.java       | 16 ++---
 .../pulsar/broker/service/PublishRateLimiter.java  |  2 +-
 .../prometheus/PrometheusMetricsGenerator.java     |  3 +-
 .../metrics/PrometheusMetricsProvider.java         |  6 +-
 .../buffer/impl/TransactionBufferHandlerImpl.java  |  3 +-
 .../transaction/pendingack/impl/package-info.java  |  3 +-
 .../transaction/pendingack/package-info.java       |  3 +-
 .../org/apache/pulsar/client/api/RawReader.java    |  4 +-
 .../pulsar/common/naming/NamespaceBundle.java      |  5 --
 .../common/naming/NamespaceBundleFactory.java      |  1 -
 .../pulsar/common/naming/NamespaceBundles.java     |  2 +-
 .../pulsar/client/admin/NonPersistentTopics.java   |  1 -
 .../apache/pulsar/client/api/ConsumerBuilder.java  |  2 -
 .../common/protocol/schema/BytesSchemaVersion.java |  4 +-
 .../org/apache/pulsar/common/util/Reflections.java |  1 -
 .../data/loadbalancer/AdvertisedListener.java      |  1 -
 44 files changed, 215 insertions(+), 152 deletions(-)

diff --git a/buildtools/src/main/resources/pulsar/checkstyle-pulsar-broker.xml b/buildtools/src/main/resources/pulsar/checkstyle-pulsar-broker.xml
index 38e9255..77f901a 100644
--- a/buildtools/src/main/resources/pulsar/checkstyle-pulsar-broker.xml
+++ b/buildtools/src/main/resources/pulsar/checkstyle-pulsar-broker.xml
@@ -60,12 +60,6 @@ page at http://checkstyle.sourceforge.net/config.html -->
         <property name="fileNamePattern" value=".*Tests\.java$"/>
     </module>
 
-    <!-- Allow use of comment to suppress javadocstyle -->
-    <module name="SuppressionCommentFilter">
-        <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
-        <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
-        <property name="checkFormat" value="$1"/>
-    </module>
     <module name="SuppressionFilter">
         <property name="file" value="${checkstyle.suppressions.file}" default="suppressions.xml"/>
     </module>
@@ -75,6 +69,78 @@ page at http://checkstyle.sourceforge.net/config.html -->
 
     <!-- All Java AST specific tests live under TreeWalker module. -->
     <module name="TreeWalker">
+
+        <!-- Allow use of comment to suppress javadocstyle -->
+        <module name="SuppressionCommentFilter">
+            <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
+            <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
+            <property name="checkFormat" value="$1"/>
+        </module>
+
+        <module name="SuppressWarningsHolder"/>
+
+        <module name="TodoComment">
+            <!-- Checks that disallowed strings are not used in comments.  -->
+            <property name="format" value="(FIXME)|(XXX)|(@author)"/>
+        </module>
+
+        <!--
+
+        IMPORT CHECKS
+
+        -->
+
+        <module name="RedundantImport">
+            <!-- Checks for redundant import statements. -->
+            <property name="severity" value="error"/>
+            <message key="import.redundancy"
+                     value="Redundant import {0}."/>
+        </module>
+
+        <module name="ImportOrder">
+            <property name="severity" value="error"/>
+            <!-- This ensures that static imports go first. -->
+            <property name="option" value="top"/>
+            <property name="sortStaticImportsAlphabetically" value="true"/>
+            <property name="tokens" value="STATIC_IMPORT, IMPORT"/>
+            <message key="import.ordering"
+                     value="Import {0} appears after other imports that it should precede"/>
+        </module>
+
+        <module name="AvoidStarImport">
+            <property name="severity" value="error"/>
+        </module>
+
+        <module name="IllegalImport">
+            <property name="illegalPkgs"
+                      value="autovalue.shaded, avro.shaded, bk-shade, com.google.api.client.repackaged, com.google.appengine.repackaged, io.netty.util.internal"/>
+        </module>
+
+        <module name="RedundantModifier">
+            <!-- Checks for redundant modifiers on various symbol definitions.
+              See: http://checkstyle.sourceforge.net/config_modifier.html#RedundantModifier
+            -->
+            <property name="tokens"
+                      value="METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, CLASS_DEF, ENUM_DEF"/>
+        </module>
+
+        <!--
+            IllegalImport cannot blacklist classes, and c.g.api.client.util is used for some shaded
+            code and some useful code. So we need to fall back to Regexp.
+        -->
+        <module name="RegexpSinglelineJava">
+            <property name="format"
+                      value="com\.google\.api\.client\.util\.(ByteStreams|Charsets|Collections2|Joiner|Lists|Maps|Objects|Preconditions|Sets|Strings|Throwables)"/>
+        </module>
+
+        <!--
+             Require static importing from Preconditions.
+        -->
+        <module name="RegexpSinglelineJava">
+            <property name="format" value="^import com.google.common.base.Preconditions;$"/>
+            <property name="message" value="Static import functions from Guava Preconditions"/>
+        </module>
+
         <module name="UnusedImports">
             <property name="severity" value="error"/>
             <property name="processJavadoc" value="true"/>
diff --git a/buildtools/src/main/resources/pulsar/checkstyle.xml b/buildtools/src/main/resources/pulsar/checkstyle.xml
index b46c8bf..1d01c81 100644
--- a/buildtools/src/main/resources/pulsar/checkstyle.xml
+++ b/buildtools/src/main/resources/pulsar/checkstyle.xml
@@ -28,8 +28,31 @@ what the following rules do, please see the checkstyle configuration
 page at http://checkstyle.sourceforge.net/config.html -->
 
 <module name="Checker">
+    <!--
 
-    <module name="SuppressWarningsFilter" />
+    LENGTH and CODING CHECKS
+
+    -->
+
+    <module name="LineLength">
+        <!-- Checks if a line is too long. -->
+        <property name="max" value="120"/>
+        <property name="severity" value="error"/>
+
+        <!--
+          The default ignore pattern exempts the following elements:
+            - import statements
+            - long URLs inside comments
+        -->
+
+        <property name="ignorePattern"
+                  value="^(package .*;\s*)|(import .*;\s*)|( *\* .*https?://.*)$"/>
+    </module>
+
+    <!-- Required to support SuppressWarningsComment -->
+    <!--    <module name="FileContentsHolder"/>-->
+
+    <module name="SuppressWarningsFilter"/>
 
     <module name="FileTabCharacter">
         <!-- Checks that there are no tab characters in the file. -->
@@ -37,7 +60,7 @@ page at http://checkstyle.sourceforge.net/config.html -->
 
     <module name="RegexpSingleline">
         <!-- Checks that TODOs don't have stuff in parenthesis, e.g., username. -->
-        <property name="format" value="((//.*)|(\*.*))TODO\(" />
+        <property name="format" value="((//.*)|(\*.*))TODO\("/>
         <property name="message" value="TODO comments must not include usernames." />
         <property name="severity" value="error" />
     </module>
@@ -59,12 +82,6 @@ page at http://checkstyle.sourceforge.net/config.html -->
         <property name="fileNamePattern" value=".*Tests\.java$" />
     </module>
 
-    <!-- Allow use of comment to suppress javadocstyle -->
-    <module name="SuppressionCommentFilter">
-        <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
-        <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
-        <property name="checkFormat" value="$1"/>
-    </module>
     <module name="SuppressionFilter">
         <property name="file" value="${checkstyle.suppressions.file}" default="suppressions.xml" />
     </module>
@@ -110,7 +127,8 @@ page at http://checkstyle.sourceforge.net/config.html -->
         </module>
 
         <module name="IllegalImport">
-            <property name="illegalPkgs" value="autovalue.shaded, avro.shaded, bk-shade, com.google.api.client.repackaged, com.google.appengine.repackaged, io.netty.util.internal"/>
+            <property name="illegalPkgs"
+                      value="autovalue.shaded, avro.shaded, bk-shade, com.google.api.client.repackaged, com.google.appengine.repackaged, io.netty.util.internal"/>
         </module>
 
         <module name="RedundantModifier">
@@ -154,16 +172,12 @@ page at http://checkstyle.sourceforge.net/config.html -->
         <module name="JavadocMethod">
             <property name="scope" value="protected"/>
             <property name="severity" value="error"/>
-            <property name="allowMissingJavadoc" value="true"/>
             <property name="allowMissingParamTags" value="true"/>
             <property name="allowMissingReturnTag" value="true"/>
-            <property name="allowMissingThrowsTags" value="true"/>
-            <property name="allowThrowsTagsForSubclasses" value="true"/>
-            <property name="allowUndeclaredRTE" value="true"/>
         </module>
 
         <!-- Check that paragraph tags are used correctly in Javadoc. -->
-        <module name="JavadocParagraph"/>
+        <!--        <module name="JavadocParagraph"/>-->
 
         <module name="JavadocType">
             <property name="scope" value="protected"/>
@@ -281,27 +295,6 @@ page at http://checkstyle.sourceforge.net/config.html -->
             <property name="severity" value="error"/>
         </module>
 
-        <!--
-
-        LENGTH and CODING CHECKS
-
-        -->
-
-        <module name="LineLength">
-            <!-- Checks if a line is too long. -->
-            <property name="max" value="120"/>
-            <property name="severity" value="error"/>
-
-            <!--
-              The default ignore pattern exempts the following elements:
-                - import statements
-                - long URLs inside comments
-            -->
-
-            <property name="ignorePattern"
-                      value="^(package .*;\s*)|(import .*;\s*)|( *\* .*https?://.*)$"/>
-        </module>
-
         <module name="LeftCurly">
             <!-- Checks for placement of the left curly brace ('{'). -->
             <property name="severity" value="error"/>
@@ -426,8 +419,6 @@ page at http://checkstyle.sourceforge.net/config.html -->
             <property name="severity" value="error"/>
         </module>
 
-        <!-- Required to support SuppressWarningsComment -->
-        <module name="FileContentsHolder"/>
 
     </module>
 </module>
diff --git a/buildtools/src/main/resources/pulsar/suppressions.xml b/buildtools/src/main/resources/pulsar/suppressions.xml
index d6d38a2..955a620 100644
--- a/buildtools/src/main/resources/pulsar/suppressions.xml
+++ b/buildtools/src/main/resources/pulsar/suppressions.xml
@@ -32,13 +32,26 @@
     <suppress checks="JavadocType" files=".*Impl\.java$" />
 
     <!-- suppress all checks in the generated directories -->
-    <suppress checks=".*" files=".+[\\/]generated[\\/].+\.java" />
-    <suppress checks=".*" files=".+[\\/]generated-sources[\\/].+\.java" />
-    <suppress checks=".*" files=".+[\\/]generated-test-sources[\\/].+\.java" />
+    <suppress checks=".*" files=".+[\\/]generated[\\/].+\.java"/>
+    <suppress checks=".*" files=".+[\\/]generated-sources[\\/].+\.java"/>
+    <suppress checks=".*" files=".+[\\/]generated-test-sources[\\/].+\.java"/>
 
     <!-- suppress all checks in the copied code -->
-    <suppress checks=".*" files=".+[\\/]com[\\/]scurrilous[\\/]circe[\\/].+\.java" />
-    
-    <suppress checks=".*" files="MLDataFormats.java" />
-    <suppress checks=".*" files="BitSetRecyclable.java" />
+    <suppress checks=".*" files=".+[\\/]com[\\/]scurrilous[\\/]circe[\\/].+\.java"/>
+
+    <suppress checks=".*" files="MLDataFormats.java"/>
+    <suppress checks=".*" files="BitSetRecyclable.java"/>
+    <suppress checks=".*" files="Schema.java"/>
+    <suppress checks="StaticVariableName" files="AuthData.java"/>
+    <suppress checks="MethodName" files="AuthenticationFactory.java"/>
+    <suppress checks="ConstantName" files="MessageId.java"/>
+    <suppress checks="MethodName" files="TopicsImpl.java"/>
+    <suppress checks="MemberName" files="TopicsImpl.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/common/.*.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/client/.*.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/transaction/.*.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/broker/.*.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/compaction/.*.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/utils/.*.java"/>
+    <suppress checks="ImportOrder" files="src/main/java/org/apache/pulsar/sql/.*.java"/>
 </suppressions>
diff --git a/pom.xml b/pom.xml
index 746aac2..6e0faaf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,7 +118,7 @@ flexible messaging model and an intuitive client API.</description>
     <jackson.databind.version>2.11.1</jackson.databind.version>
     <reflections.version>0.9.11</reflections.version>
     <swagger.version>1.5.21</swagger.version>
-    <puppycrawl.checkstyle.version>6.19</puppycrawl.checkstyle.version>
+    <puppycrawl.checkstyle.version>8.37</puppycrawl.checkstyle.version>
     <dockerfile-maven.version>1.4.13</dockerfile-maven.version>
     <typetools.version>0.5.0</typetools.version>
     <protobuf2.version>2.4.1</protobuf2.version>
@@ -210,7 +210,7 @@ flexible messaging model and an intuitive client API.</description>
     <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
     <maven-archiver.version>2.5</maven-archiver.version>
     <nifi-nar-maven-plugin.version>1.2.0</nifi-nar-maven-plugin.version>
-    <maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version>
+    <maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version>
     <git-commit-id-plugin.version>4.0.2</git-commit-id-plugin.version>
     <wagon-ssh-external.version>2.10</wagon-ssh-external.version>
     <os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
@@ -437,7 +437,7 @@ flexible messaging model and an intuitive client API.</description>
         <artifactId>jetty-util</artifactId>
         <version>${jetty.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-bom</artifactId>
@@ -609,7 +609,7 @@ flexible messaging model and an intuitive client API.</description>
         <artifactId>jna</artifactId>
         <version>${jna.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>com.fasterxml.jackson</groupId>
         <artifactId>jackson-bom</artifactId>
@@ -935,37 +935,37 @@ flexible messaging model and an intuitive client API.</description>
         <artifactId>opencensus-api</artifactId>
         <version>${opencensus.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>io.opencensus</groupId>
         <artifactId>opencensus-contrib-grpc-metrics</artifactId>
         <version>${opencensus.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>org.elasticsearch.client</groupId>
         <artifactId>elasticsearch-rest-high-level-client</artifactId>
         <version>${elasticsearch.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>joda-time</groupId>
         <artifactId>joda-time</artifactId>
         <version>${joda.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>org.javassist</groupId>
         <artifactId>javassist</artifactId>
         <version>${javassist.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>net.jcip</groupId>
         <artifactId>jcip-annotations</artifactId>
         <version>${jcip.version}</version>
       </dependency>
-      
+
       <dependency>
         <groupId>io.airlift</groupId>
         <artifactId>aircompressor</artifactId>
@@ -977,13 +977,13 @@ flexible messaging model and an intuitive client API.</description>
           </exclusion>
         </exclusions>
       </dependency>
-      
+
       <dependency>
         <groupId>org.objenesis</groupId>
         <artifactId>objenesis</artifactId>
         <version>${objenesis.version}</version>
       </dependency>
-    
+
     </dependencies>
   </dependencyManagement>
 
@@ -1296,7 +1296,7 @@ flexible messaging model and an intuitive client API.</description>
             <exclude>**/_helpers.tpl</exclude>
           </excludes>
         </configuration>
-      </plugin>      
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-enforcer-plugin</artifactId>
@@ -1395,7 +1395,7 @@ flexible messaging model and an intuitive client API.</description>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-assembly-plugin</artifactId>
-          <version>${maven-assembly-plugin.version}</version>            
+          <version>${maven-assembly-plugin.version}</version>
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
@@ -1690,6 +1690,6 @@ flexible messaging model and an intuitive client API.</description>
       <url>http://packages.confluent.io/maven/</url>
     </repository>
   </repositories>
-  
+
 </project>
 
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 3d728266f..c2f2b1c 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarBrokerStarter.java
@@ -24,27 +24,24 @@ import static org.apache.commons.lang3.StringUtils.isBlank;
 import static org.apache.commons.lang3.StringUtils.isNotBlank;
 import static org.apache.pulsar.common.configuration.PulsarConfigurationLoader.create;
 import static org.apache.pulsar.common.configuration.PulsarConfigurationLoader.isComplete;
-
 import com.beust.jcommander.JCommander;
 import com.beust.jcommander.Parameter;
 import com.google.common.annotations.VisibleForTesting;
-
 import java.io.File;
 import java.io.FileInputStream;
 import java.net.MalformedURLException;
 import java.nio.file.Paths;
-import java.util.Date;
-import java.util.Arrays;
-import java.util.Optional;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Optional;
+import org.apache.bookkeeper.common.util.ReflectionUtils;
 import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.discover.BookieServiceInfo;
 import org.apache.bookkeeper.proto.BookieServer;
 import org.apache.bookkeeper.replication.AutoRecoveryMain;
 import org.apache.bookkeeper.stats.StatsProvider;
-import org.apache.bookkeeper.common.util.ReflectionUtils;
-import org.apache.bookkeeper.discover.BookieServiceInfo;
 import org.apache.bookkeeper.util.DirectMemoryUtils;
 import org.apache.commons.configuration.ConfigurationException;
 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 075ccce..dd14ce5 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataSetup.java
@@ -19,15 +19,12 @@
 package org.apache.pulsar;
 
 import static org.apache.pulsar.broker.cache.ConfigurationCacheService.POLICIES_ROOT;
-
 import com.beust.jcommander.JCommander;
 import com.beust.jcommander.Parameter;
 import com.google.common.collect.Lists;
-
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
-
 import org.apache.bookkeeper.client.BookKeeperAdmin;
 import org.apache.bookkeeper.common.net.ServiceURI;
 import org.apache.bookkeeper.conf.ServerConfiguration;
@@ -50,8 +47,8 @@ import org.apache.pulsar.zookeeper.ZookeeperClientFactoryImpl;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.KeeperException.NodeExistsException;
-import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.ZooDefs;
+import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.ZooKeeper;
 import org.apache.zookeeper.data.ACL;
 import org.apache.zookeeper.data.Stat;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataTeardown.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataTeardown.java
index 1f25be3..42cb245 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataTeardown.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataTeardown.java
@@ -21,6 +21,9 @@ package org.apache.pulsar;
 import com.beust.jcommander.JCommander;
 import com.beust.jcommander.Parameter;
 import com.google.protobuf.InvalidProtocolBufferException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.BookKeeper;
 import org.apache.bookkeeper.conf.ClientConfiguration;
@@ -37,10 +40,6 @@ import org.apache.zookeeper.ZooKeeper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-
 /**
  * Teardown the metadata for a existed Pulsar cluster
  */
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
index 373d640..bf09803 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
@@ -20,11 +20,10 @@ package org.apache.pulsar;
 
 import com.beust.jcommander.JCommander;
 import com.beust.jcommander.Parameter;
+import java.util.List;
 import org.apache.pulsar.common.naming.NamespaceName;
 import org.apache.zookeeper.ZooKeeper;
 
-import java.util.List;
-
 /**
  * Setup the initial namespace of the cluster without startup the Pulsar broker.
  */
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandalone.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandalone.java
index d37b32d..770b47c 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandalone.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandalone.java
@@ -19,15 +19,12 @@
 package org.apache.pulsar;
 
 import static org.apache.commons.lang3.StringUtils.isBlank;
-
 import com.beust.jcommander.Parameter;
 import com.google.common.collect.Sets;
-
 import java.io.File;
 import java.net.URL;
 import java.nio.file.Paths;
 import java.util.Optional;
-
 import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.pulsar.broker.PulsarService;
 import org.apache.pulsar.broker.ServiceConfiguration;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneBuilder.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneBuilder.java
index fb1de41..581db63 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneBuilder.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneBuilder.java
@@ -18,11 +18,10 @@
  */
 package org.apache.pulsar;
 
+import static org.apache.commons.lang3.StringUtils.isBlank;
 import org.apache.pulsar.broker.ServiceConfiguration;
 import org.apache.pulsar.broker.ServiceConfigurationUtils;
 
-import static org.apache.commons.lang3.StringUtils.isBlank;
-
 public final class PulsarStandaloneBuilder {
 
     private PulsarStandalone pulsarStandalone;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
index 9086e8c..36b462c 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
@@ -19,17 +19,14 @@
 package org.apache.pulsar;
 
 import static org.apache.commons.lang3.StringUtils.isBlank;
-
+import com.beust.jcommander.JCommander;
 import java.io.FileInputStream;
 import java.util.Arrays;
-
 import org.apache.pulsar.broker.ServiceConfiguration;
 import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.beust.jcommander.JCommander;
-
 public class PulsarStandaloneStarter extends PulsarStandalone {
 
     private static final Logger log = LoggerFactory.getLogger(PulsarStandaloneStarter.class);
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactory.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactory.java
index 476857a..42ff06f 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactory.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/BookKeeperClientFactory.java
@@ -25,7 +25,6 @@ import java.util.Optional;
 import org.apache.bookkeeper.client.BookKeeper;
 import org.apache.bookkeeper.client.EnsemblePlacementPolicy;
 import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.pulsar.broker.ServiceConfiguration;
 import org.apache.zookeeper.ZooKeeper;
 
 /**
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
index 83464ff..7779d45 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
@@ -40,6 +40,8 @@ import javax.ws.rs.container.AsyncResponse;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.core.UriBuilder;
+
+import com.google.errorprone.annotations.CanIgnoreReturnValue;
 import org.apache.bookkeeper.util.ZkUtils;
 import org.apache.pulsar.broker.PulsarService;
 import org.apache.pulsar.broker.ServiceConfiguration;
@@ -882,6 +884,11 @@ public abstract class AdminResource extends PulsarWebResource {
         }
     }
 
+    @CanIgnoreReturnValue
+    public static <T> T checkNotNull(T reference) {
+        return com.google.common.base.Preconditions.checkNotNull(reference);
+    }
+
     protected void checkNotNull(Object o, String errorMessage) {
         if (o == null) {
             throw new RestException(Status.BAD_REQUEST, errorMessage);
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
index e7c73ad..2ae28dc 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
@@ -25,7 +25,6 @@ import static org.apache.pulsar.common.util.Codec.decode;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.github.zafarkhaja.semver.Version;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -1608,11 +1607,11 @@ public class PersistentTopicsBase extends AdminResource {
             if (subName.startsWith(topic.getReplicatorPrefix())) {
                 String remoteCluster = PersistentReplicator.getRemoteCluster(subName);
                 PersistentReplicator repl = (PersistentReplicator) topic.getPersistentReplicator(remoteCluster);
-                Preconditions.checkNotNull(repl);
+                checkNotNull(repl);
                 repl.skipMessages(numMessages).get();
             } else {
                 PersistentSubscription sub = topic.getSubscription(subName);
-                Preconditions.checkNotNull(sub);
+                checkNotNull(sub);
                 sub.skipMessages(numMessages).get();
             }
             log.info("[{}] Skipped {} messages on {} {}", clientAppId(), numMessages, topicName, subName);
@@ -2286,7 +2285,7 @@ public class PersistentTopicsBase extends AdminResource {
     }
 
     private Response generateResponseWithEntry(Entry entry) throws IOException {
-        Preconditions.checkNotNull(entry);
+        checkNotNull(entry);
         PositionImpl pos = (PositionImpl) entry.getPosition();
         ByteBuf metadataAndPayload = entry.getDataBuffer();
 
@@ -2847,11 +2846,11 @@ public class PersistentTopicsBase extends AdminResource {
             if (subName.startsWith(topic.getReplicatorPrefix())) {
                 String remoteCluster = PersistentReplicator.getRemoteCluster(subName);
                 PersistentReplicator repl = (PersistentReplicator) topic.getPersistentReplicator(remoteCluster);
-                Preconditions.checkNotNull(repl);
+                checkNotNull(repl);
                 repl.expireMessages(expireTimeInSeconds);
             } else {
                 PersistentSubscription sub = topic.getSubscription(subName);
-                Preconditions.checkNotNull(sub);
+                checkNotNull(sub);
                 sub.expireMessages(expireTimeInSeconds);
             }
             log.info("[{}] Message expire started up to {} on {} {}", clientAppId(), expireTimeInSeconds, topicName,
@@ -3098,7 +3097,7 @@ public class PersistentTopicsBase extends AdminResource {
                 sub = topic.createSubscription(subName, InitialPosition.Earliest, false).get();
             }
 
-            return Preconditions.checkNotNull(sub);
+            return checkNotNull(sub);
         } catch (Exception e) {
             throw new RestException(Status.NOT_FOUND, "Subscription not found");
         }
@@ -3111,7 +3110,7 @@ public class PersistentTopicsBase extends AdminResource {
         try {
             String remoteCluster = PersistentReplicator.getRemoteCluster(replName);
             PersistentReplicator repl = (PersistentReplicator) topic.getPersistentReplicator(remoteCluster);
-            return Preconditions.checkNotNull(repl);
+            return checkNotNull(repl);
         } catch (Exception e) {
             throw new RestException(Status.NOT_FOUND, "Replicator not found");
         }
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java
index 367a056..40ef5a4 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SinksBase.java
@@ -18,7 +18,12 @@
  */
 package org.apache.pulsar.broker.admin.impl;
 
-import io.swagger.annotations.*;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import io.swagger.annotations.Example;
+import io.swagger.annotations.ExampleProperty;
 import org.apache.pulsar.broker.admin.AdminResource;
 import org.apache.pulsar.common.functions.UpdateOptions;
 import org.apache.pulsar.common.io.ConfigFieldDefinition;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java
index 58fc52a..50859b7 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SourcesBase.java
@@ -18,7 +18,12 @@
  */
 package org.apache.pulsar.broker.admin.impl;
 
-import io.swagger.annotations.*;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import io.swagger.annotations.Example;
+import io.swagger.annotations.ExampleProperty;
 import org.apache.pulsar.broker.admin.AdminResource;
 import org.apache.pulsar.common.functions.UpdateOptions;
 import org.apache.pulsar.common.io.ConfigFieldDefinition;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/cache/ResourceQuotaCache.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/cache/ResourceQuotaCache.java
index b347e15..86a023f 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/cache/ResourceQuotaCache.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/cache/ResourceQuotaCache.java
@@ -69,7 +69,7 @@ public class ResourceQuotaCache {
     }
 
     // generate path for a specified ServiceUnit, return root path if suName is null or empty
-    private static final String path(String suName) {
+    private static String path(String suName) {
         if (suName != null && !suName.isEmpty()) {
             return RESOURCE_QUOTA_ROOT + "/namespace/" + suName;
         } else {
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/BrokerFilter.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/BrokerFilter.java
index 5616568..895d0b6 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/BrokerFilter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/BrokerFilter.java
@@ -46,6 +46,6 @@ public interface BrokerFilter {
      * @throws BrokerFilterException
      *            There was an error in the pipeline and the brokers should be reset to their original value
      */
-    public void filter(Set<String> brokers, BundleData bundleToAssign, LoadData loadData, ServiceConfiguration conf)
-                       throws BrokerFilterException;
+    void filter(Set<String> brokers, BundleData bundleToAssign, LoadData loadData, ServiceConfiguration conf)
+            throws BrokerFilterException;
 }
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LeaderElectionService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LeaderElectionService.java
index 19be69f..85a6393 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LeaderElectionService.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LeaderElectionService.java
@@ -66,7 +66,7 @@ public class LeaderElectionService {
      * Interface which should be implemented by classes which are interested in the leader election. The listener gets
      * called when current broker becomes the leader.
      */
-    public static interface LeaderListener {
+    public interface LeaderListener {
         void brokerIsTheLeaderNow();
 
         void brokerIsAFollowerNow();
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReport.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReport.java
index a8a283d..376068a 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReport.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReport.java
@@ -26,10 +26,10 @@ import java.util.Map;
  */
 public interface LoadReport {
 
-    public Map<ServiceUnit, ServiceRequest> getServiceUnitRequests();
+    Map<ServiceUnit, ServiceRequest> getServiceUnitRequests();
 
-    public ResourceUnit getResourceUnit();
+    ResourceUnit getResourceUnit();
 
-    public ResourceDescription getResourceUnitDescription();
+    ResourceDescription getResourceUnitDescription();
 
 }
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReportUpdaterTask.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReportUpdaterTask.java
index 54953a5..db502e9 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReportUpdaterTask.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadReportUpdaterTask.java
@@ -18,7 +18,6 @@
  */
 package org.apache.pulsar.broker.loadbalance;
 
-import java.lang.Runnable;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.slf4j.Logger;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadResourceQuotaUpdaterTask.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadResourceQuotaUpdaterTask.java
index 76febd5..b733c4d 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadResourceQuotaUpdaterTask.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadResourceQuotaUpdaterTask.java
@@ -21,7 +21,6 @@ package org.apache.pulsar.broker.loadbalance;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.lang.Runnable;
 import java.util.concurrent.atomic.AtomicReference;
 
 /**
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadSheddingTask.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadSheddingTask.java
index cd4cd1d..45897cb 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadSheddingTask.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadSheddingTask.java
@@ -21,7 +21,6 @@ package org.apache.pulsar.broker.loadbalance;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.lang.Runnable;
 import java.util.concurrent.atomic.AtomicReference;
 
 /**
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/PlacementStrategy.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/PlacementStrategy.java
index 0ecb872..ce25713 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/PlacementStrategy.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/PlacementStrategy.java
@@ -23,5 +23,5 @@ import com.google.common.collect.Multimap;
 /**
  */
 public interface PlacementStrategy {
-    public ResourceUnit findBrokerForPlacement(Multimap<Long, ResourceUnit> finalCandidates);
+    ResourceUnit findBrokerForPlacement(Multimap<Long, ResourceUnit> finalCandidates);
 }
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/ResourceUnit.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/ResourceUnit.java
index 1f0ed14..1afde4e 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/ResourceUnit.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/ResourceUnit.java
@@ -22,9 +22,9 @@ package org.apache.pulsar.broker.loadbalance;
     ResourceUnit represents any machine/unit which has resources that broker can use to serve its service units
  */
 public interface ResourceUnit extends Comparable<ResourceUnit> {
-    public String getResourceId();
+    String getResourceId();
 
-    public ResourceDescription getAvailableResource();
+    ResourceDescription getAvailableResource();
 
-    public boolean canFit(ResourceDescription resourceDescription);
+    boolean canFit(ResourceDescription resourceDescription);
 }
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/BrokerVersionFilter.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/BrokerVersionFilter.java
index eda7513..fb7e5cc 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/BrokerVersionFilter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/BrokerVersionFilter.java
@@ -18,7 +18,9 @@
  */
 package org.apache.pulsar.broker.loadbalance.impl;
 
-import java.util.*;
+import java.util.Iterator;
+import java.util.Set;
+
 import org.apache.pulsar.broker.BrokerData;
 import org.apache.pulsar.broker.BundleData;
 import org.apache.pulsar.broker.ServiceConfiguration;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java
index 9dc7b98..bb14dbd 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LoadManagerShared.java
@@ -57,7 +57,6 @@ import com.beust.jcommander.internal.Lists;
 import com.google.common.collect.Maps;
 
 import io.netty.util.concurrent.FastThreadLocal;
-import io.netty.util.internal.PlatformDependent;
 
 /**
  * This class contains code which in shared between the two load manager implementations.
@@ -231,7 +230,7 @@ public class LoadManagerShared {
 
         // Collect JVM direct memory
         systemResourceUsage.directMemory.usage = (double) (getJvmDirectMemoryUsed() / MIBI);
-        systemResourceUsage.directMemory.limit = (double) (PlatformDependent.maxDirectMemory() / MIBI);
+        systemResourceUsage.directMemory.limit = (double) (io.netty.util.internal.PlatformDependent.maxDirectMemory() / MIBI);
 
         return systemResourceUsage;
     }
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/NamespaceService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/NamespaceService.java
index 0453644..a73085f 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/NamespaceService.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/NamespaceService.java
@@ -119,7 +119,7 @@ import org.slf4j.LoggerFactory;
  */
 public class NamespaceService {
 
-    public static enum AddressType {
+    public enum AddressType {
         BROKER_URL, LOOKUP_URL
     }
 
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/ServiceUnitZkUtils.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/ServiceUnitZkUtils.java
index 2760938..8628df2 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/ServiceUnitZkUtils.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/ServiceUnitZkUtils.java
@@ -66,12 +66,12 @@ public final class ServiceUnitZkUtils {
      */
     public static final String OWNER_INFO_ROOT = LocalZooKeeperCacheService.OWNER_INFO_ROOT;
 
-    public static final String path(NamespaceBundle suname) {
+    public static String path(NamespaceBundle suname) {
         // The ephemeral node path for new namespaces should always have bundle name appended
         return OWNER_INFO_ROOT + "/" + suname.toString();
     }
 
-    public static final NamespaceBundle suBundleFromPath(String path, NamespaceBundleFactory factory) {
+    public static NamespaceBundle suBundleFromPath(String path, NamespaceBundleFactory factory) {
         String[] parts = path.split("/");
         checkArgument(parts.length > 2);
         checkArgument(parts[1].equals("namespace"));
@@ -104,7 +104,7 @@ public final class ServiceUnitZkUtils {
      *
      * @throws PulsarServerException
      */
-    public static final void initZK(ZooKeeper zkc, String selfBrokerUrl) {
+    public static void initZK(ZooKeeper zkc, String selfBrokerUrl) {
         // initialize the zk client with values
         try {
             // check and create /namespace path
@@ -122,7 +122,7 @@ public final class ServiceUnitZkUtils {
      *
      * @throws Exception
      */
-    private static final void cleanupNamespaceNodes(ZooKeeper zkc, String root, String selfBrokerUrl) throws Exception {
+    private static void cleanupNamespaceNodes(ZooKeeper zkc, String root, String selfBrokerUrl) throws Exception {
         // we don't need a watch here since we are only cleaning up the stale ephemeral nodes from previous session
         try {
             for (String node : zkc.getChildren(root, false)) {
@@ -148,7 +148,7 @@ public final class ServiceUnitZkUtils {
      *
      * @throws Exception
      */
-    private static final void cleanupSingleNamespaceNode(ZooKeeper zkc, String path, String selfBrokerUrl)
+    private static void cleanupSingleNamespaceNode(ZooKeeper zkc, String path, String selfBrokerUrl)
             throws Exception {
         String brokerUrl = null;
         try {
@@ -189,8 +189,8 @@ public final class ServiceUnitZkUtils {
      * @throws JsonMappingException
      * @throws JsonGenerationException
      */
-    public static final NamespaceEphemeralData acquireNameSpace(ZooKeeper zkc, String path,
-            NamespaceEphemeralData value)
+    public static NamespaceEphemeralData acquireNameSpace(ZooKeeper zkc, String path,
+                                                          NamespaceEphemeralData value)
             throws KeeperException, InterruptedException, JsonGenerationException, JsonMappingException, IOException {
 
         // the znode data to be written
@@ -201,7 +201,7 @@ public final class ServiceUnitZkUtils {
         return value;
     }
 
-    public static final BundlesData createBundlesIfAbsent(ZooKeeper zkc, String path, BundlesData initialBundles)
+    public static BundlesData createBundlesIfAbsent(ZooKeeper zkc, String path, BundlesData initialBundles)
             throws JsonGenerationException, JsonMappingException, IOException, KeeperException, InterruptedException {
         String data = jsonMapper.writeValueAsString(initialBundles);
 
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/PublishRateLimiter.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/PublishRateLimiter.java
index 67e6c77..b121cda 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/PublishRateLimiter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/PublishRateLimiter.java
@@ -23,7 +23,7 @@ import org.apache.pulsar.common.policies.data.PublishRate;
 
 public interface PublishRateLimiter {
 
-    static PublishRateLimiter DISABLED_RATE_LIMITER = PublishRateLimiterDisable.DISABLED_RATE_LIMITER;
+    PublishRateLimiter DISABLED_RATE_LIMITER = PublishRateLimiterDisable.DISABLED_RATE_LIMITER;
 
     /**
      * checks and update state of current publish and marks if it has exceeded the rate-limiting threshold.
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
index cbebacf..39e1440 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
@@ -41,7 +41,6 @@ import org.apache.pulsar.common.util.SimpleTextOutputStream;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
-import io.netty.util.internal.PlatformDependent;
 import io.prometheus.client.Collector;
 import io.prometheus.client.Collector.MetricFamilySamples;
 import io.prometheus.client.Collector.MetricFamilySamples.Sample;
@@ -71,7 +70,7 @@ public class PrometheusMetricsGenerator {
         Gauge.build("jvm_memory_direct_bytes_max", "-").create().setChild(new Child() {
             @Override
             public double get() {
-                return PlatformDependent.maxDirectMemory();
+                return io.netty.util.internal.PlatformDependent.maxDirectMemory();
             }
         }).register(CollectorRegistry.defaultRegistry);
 
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 a8a05e1..e05c6c4 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
@@ -30,7 +30,11 @@ import org.apache.commons.lang.StringUtils;
 
 import java.io.IOException;
 import java.io.Writer;
-import java.util.concurrent.*;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ConcurrentSkipListMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 /**
  * A <i>Prometheus</i> based {@link StatsProvider} implementation.
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
index 6b3f186..9d7e326 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/buffer/impl/TransactionBufferHandlerImpl.java
@@ -18,6 +18,7 @@
  */
 package org.apache.pulsar.broker.transaction.buffer.impl;
 
+
 import io.netty.buffer.ByteBuf;
 import io.netty.util.HashedWheelTimer;
 import io.netty.util.Recycler;
@@ -33,10 +34,10 @@ import org.apache.pulsar.client.api.transaction.TxnID;
 import org.apache.pulsar.client.impl.ClientCnx;
 import org.apache.pulsar.client.impl.ConnectionPool;
 import org.apache.pulsar.client.impl.MessageIdImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionBufferHandler;
 import org.apache.pulsar.common.api.proto.PulsarApi;
 import org.apache.pulsar.common.naming.TopicName;
 import org.apache.pulsar.common.protocol.Commands;
-import org.apache.pulsar.client.impl.transaction.TransactionBufferHandler;
 import org.apache.pulsar.common.util.FutureUtil;
 
 import java.net.InetSocketAddress;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/package-info.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/package-info.java
index f3b76e1..c61e5f3 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/package-info.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/package-info.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 /**
  * The implementation for processing pending acks in transactions.
  */
-package org.apache.pulsar.broker.transaction.pendingack.impl;
\ No newline at end of file
+package org.apache.pulsar.broker.transaction.pendingack.impl;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/package-info.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/package-info.java
index 48aece9..7c00cea 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/package-info.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/package-info.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 /**
  * Component for processing pending acks for transactions.
  */
-package org.apache.pulsar.broker.transaction.pendingack;
\ No newline at end of file
+package org.apache.pulsar.broker.transaction.pendingack;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/client/api/RawReader.java b/pulsar-broker/src/main/java/org/apache/pulsar/client/api/RawReader.java
index caf44ee..e142924 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/client/api/RawReader.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/client/api/RawReader.java
@@ -31,9 +31,9 @@ public interface RawReader {
      * Create a raw reader for a topic.
      */
 
-    public static CompletableFuture<RawReader> create(PulsarClient client, String topic, String subscription) {
+    static CompletableFuture<RawReader> create(PulsarClient client, String topic, String subscription) {
         CompletableFuture<Consumer<byte[]>> future = new CompletableFuture<>();
-        RawReader r = new RawReaderImpl((PulsarClientImpl)client, topic, subscription, future);
+        RawReader r = new RawReaderImpl((PulsarClientImpl) client, topic, subscription, future);
         return future.thenCompose((consumer) -> r.seekAsync(MessageId.earliest)).thenApply((ignore) -> r);
     }
 
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundle.java b/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundle.java
index 0fff737..4dc3f5d 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundle.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundle.java
@@ -22,11 +22,6 @@ import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
-import org.apache.pulsar.common.naming.TopicName;
-import org.apache.pulsar.common.naming.NamespaceBundle;
-import org.apache.pulsar.common.naming.NamespaceName;
-import org.apache.pulsar.common.naming.ServiceUnitId;
-
 import com.google.common.base.Objects;
 import com.google.common.collect.BoundType;
 import com.google.common.collect.Range;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundleFactory.java b/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundleFactory.java
index 69ec0b7..1de6212 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundleFactory.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundleFactory.java
@@ -39,7 +39,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.pulsar.broker.PulsarService;
 import org.apache.pulsar.broker.admin.AdminResource;
-import org.apache.pulsar.common.naming.NamespaceName;
 import org.apache.pulsar.common.policies.data.BundlesData;
 import org.apache.pulsar.common.policies.data.LocalPolicies;
 import org.apache.pulsar.stats.CacheMetricsCollector;
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundles.java b/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundles.java
index d66b11b..9e77f75 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundles.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/common/naming/NamespaceBundles.java
@@ -125,7 +125,7 @@ public class NamespaceBundles {
         return bundles.get(lowerIdx);
     }
 
-    private static final long[] convertPartitions(SortedSet<Long> partitionsSet) {
+    private static long[] convertPartitions(SortedSet<Long> partitionsSet) {
         checkNotNull(partitionsSet);
         long[] partitions = new long[partitionsSet.size()];
         int idx = 0;
diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/NonPersistentTopics.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/NonPersistentTopics.java
index 48aa02d..e8ebb3c 100644
--- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/NonPersistentTopics.java
+++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/NonPersistentTopics.java
@@ -263,7 +263,6 @@ public interface NonPersistentTopics {
      * Get list of topics exist into given namespace asynchronously.
      *
      * @param namespace
-     * @param bundleRange
      * @return
      */
     CompletableFuture<List<String>> getListAsync(String namespace);
diff --git a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerBuilder.java b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerBuilder.java
index ac26df1..b218ff0 100644
--- a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerBuilder.java
+++ b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerBuilder.java
@@ -471,8 +471,6 @@ public interface ConsumerBuilder<T> extends Cloneable {
      *            the property key
      * @param value
      *            the property value
-     * @param key
-     * @param value
      * @return the consumer builder instance
      */
     ConsumerBuilder<T> property(String key, String value);
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/schema/BytesSchemaVersion.java b/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/schema/BytesSchemaVersion.java
index fec2e1a..38ad679 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/schema/BytesSchemaVersion.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/schema/BytesSchemaVersion.java
@@ -152,8 +152,8 @@ public class BytesSchemaVersion implements SchemaVersion, Comparable<BytesSchema
      */
     public interface ByteArrayComparator extends Comparator<byte[]>, Serializable {
 
-        int compare(final byte[] buffer1, int offset1, int length1,
-                    final byte[] buffer2, int offset2, int length2);
+        int compare(byte[] buffer1, int offset1, int length1,
+                    byte[] buffer2, int offset2, int length2);
     }
 
     private static class LexicographicByteArrayComparator implements ByteArrayComparator {
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/util/Reflections.java b/pulsar-common/src/main/java/org/apache/pulsar/common/util/Reflections.java
index 0d4c2b4..f903208 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/util/Reflections.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/util/Reflections.java
@@ -298,7 +298,6 @@ public class Reflections {
                     // CHECKSTYLE.OFF: EmptyStatement
                     int arrayDimension;
                     for (arrayDimension = 0; className.charAt(arrayDimension) == '['; ++arrayDimension) {
-                        ;
                     }
                     // CHECKSTYLE.ON: EmptyStatement
 
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/AdvertisedListener.java b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/AdvertisedListener.java
index 522509d..558e1e0 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/AdvertisedListener.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/AdvertisedListener.java
@@ -19,7 +19,6 @@
 package org.apache.pulsar.policies.data.loadbalancer;
 
 import java.net.URI;
-
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;