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

rzo1 pushed a commit to branch experimental/metrics-upgrade
in repository https://gitbox.apache.org/repos/asf/storm.git

commit 20a2eb3a9230eb76c459ff3d908304a5582e2ac9
Author: Richard Zowalla <[email protected]>
AuthorDate: Wed Jul 3 10:22:04 2024 +0200

    wip
---
 DEPENDENCY-LICENSES                                         | 12 ++++++++----
 LICENSE-binary                                              |  8 ++++----
 pom.xml                                                     | 13 ++++++++++++-
 storm-client/pom.xml                                        |  4 ++++
 .../storm/metrics2/reporters/ConsoleStormReporter.java      | 10 +++++++---
 .../apache/storm/metrics2/reporters/CsvStormReporter.java   |  7 +++++++
 .../storm/metrics2/reporters/GraphiteStormReporter.java     |  7 +++++++
 .../apache/storm/metrics2/reporters/JmxStormReporter.java   | 11 ++++++++++-
 .../storm/metrics2/reporters/ScheduledStormReporter.java    |  9 +++++++++
 storm-server/pom.xml                                        |  4 ++++
 .../daemon/metrics/reporters/JmxPreparableReporter.java     |  4 ++--
 storm-webapp/pom.xml                                        |  9 ++++-----
 .../main/java/org/apache/storm/daemon/drpc/DRPCServer.java  |  1 +
 .../logviewer/handler/LogviewerLogPageHandlerTest.java      |  9 ++++-----
 .../logviewer/handler/LogviewerLogSearchHandlerTest.java    |  7 +++----
 15 files changed, 86 insertions(+), 29 deletions(-)

diff --git a/DEPENDENCY-LICENSES b/DEPENDENCY-LICENSES
index 493e25e1a..b07b739fc 100644
--- a/DEPENDENCY-LICENSES
+++ b/DEPENDENCY-LICENSES
@@ -9,6 +9,10 @@ List of third-party dependencies grouped by their license type.
         * Protocol Buffers [Core] (com.google.protobuf:protobuf-java:3.3.0 - 
https://developers.google.com/protocol-buffers/protobuf-java/)
         * ReflectASM (com.esotericsoftware:reflectasm:1.11.9 - 
https://github.com/EsotericSoftware/reflectasm)
 
+    AL 2.0, GPL v2, MPL 2.0
+
+        * RabbitMQ Java Client (com.rabbitmq:amqp-client:5.21.0 - 
https://www.rabbitmq.com)
+
     Apache License
 
         * carbonite (org.clojars.bipinprasad:carbonite:1.6.0 - 
https://github.com/bipinprasad/carbonite)
@@ -175,7 +179,7 @@ List of third-party dependencies grouped by their license 
type.
         * Google Guice - Core Library (com.google.inject:guice:4.2.3 - 
https://github.com/google/guice/guice)
         * Google Guice - Extensions - AssistedInject 
(com.google.inject.extensions:guice-assistedinject:3.0 - 
http://code.google.com/p/google-guice/extensions-parent/guice-assistedinject/)
         * Google Guice - Extensions - Servlet 
(com.google.inject.extensions:guice-servlet:4.2.3 - 
https://github.com/google/guice/extensions-parent/guice-servlet)
-        * Graphite Integration for Metrics 
(io.dropwizard.metrics:metrics-graphite:3.2.6 - 
http://metrics.dropwizard.io/metrics-graphite/)
+        * Graphite Integration for Metrics 
(io.dropwizard.metrics:metrics-graphite:4.2.26 - 
https://metrics.dropwizard.io/metrics-graphite)
         * Gson (com.google.code.gson:gson:2.10.1 - 
https://github.com/google/gson/gson)
         * Guava: Google Core Libraries for Java (com.google.guava:guava:19.0 - 
https://github.com/google/guava/guava)
         * Guava: Google Core Libraries for Java 
(com.google.guava:guava:33.0.0-jre - https://github.com/google/guava)
@@ -243,7 +247,7 @@ List of third-party dependencies grouped by their license 
type.
         * JPam (net.sf.jpam:jpam:1.1 - http://jpam.sf.net)
         * jsonschema2pojo-core (org.jsonschema2pojo:jsonschema2pojo-core:1.0.2 
- https://github.com/joelittlejohn/jsonschema2pojo/jsonschema2pojo-core)
         * JSON Small and Fast Parser (net.minidev:json-smart:2.5.1 - 
https://urielch.github.io/)
-        * JVM Integration for Metrics (io.dropwizard.metrics:metrics-jvm:3.2.6 
- http://metrics.dropwizard.io/metrics-jvm/)
+        * JVM Integration for Metrics 
(io.dropwizard.metrics:metrics-jvm:4.2.26 - 
https://metrics.dropwizard.io/metrics-jvm)
         * Kerb Simple Kdc (org.apache.kerby:kerb-simplekdc:2.0.3 - 
https://directory.apache.org/kerby/kerby-kerb/kerb-simplekdc)
         * Kerby ASN1 Project (org.apache.kerby:kerby-asn1:2.0.3 - 
https://directory.apache.org/kerby/kerby-common/kerby-asn1)
         * Kerby Config (org.apache.kerby:kerby-config:2.0.3 - 
https://directory.apache.org/kerby/kerby-common/kerby-config)
@@ -310,12 +314,12 @@ List of third-party dependencies grouped by their license 
type.
         * Maven Settings (org.apache.maven:maven-settings:3.8.1 - 
https://maven.apache.org/ref/3.8.1/maven-settings/)
         * Maven Settings Builder (org.apache.maven:maven-settings-builder:3.0 
- http://maven.apache.org/maven-settings-builder/)
         * Maven Settings Builder 
(org.apache.maven:maven-settings-builder:3.8.1 - 
https://maven.apache.org/ref/3.8.1/maven-settings-builder/)
-        * Metrics Core (io.dropwizard.metrics:metrics-core:3.2.6 - 
http://metrics.dropwizard.io/metrics-core/)
+        * Metrics Core (io.dropwizard.metrics:metrics-core:4.2.26 - 
https://metrics.dropwizard.io/metrics-core)
         * Metrics Health Checks 
(io.dropwizard.metrics:metrics-healthchecks:4.1.16 - 
https://metrics.dropwizard.io/metrics-healthchecks)
         * Metrics Integration for Jersey 2.x 
(io.dropwizard.metrics:metrics-jersey2:4.1.16 - 
https://metrics.dropwizard.io/metrics-jersey2)
         * Metrics Integration for Jetty 9.3 and higher 
(io.dropwizard.metrics:metrics-jetty9:4.1.16 - 
https://metrics.dropwizard.io/metrics-jetty9)
         * Metrics Integration for Logback 
(io.dropwizard.metrics:metrics-logback:4.1.16 - 
https://metrics.dropwizard.io/metrics-logback)
-        * Metrics Integration with JMX 
(io.dropwizard.metrics:metrics-jmx:4.1.16 - 
https://metrics.dropwizard.io/metrics-jmx)
+        * Metrics Integration with JMX 
(io.dropwizard.metrics:metrics-jmx:4.2.26 - 
https://metrics.dropwizard.io/metrics-jmx)
         * Metrics Utility Servlets 
(io.dropwizard.metrics:metrics-servlets:4.1.16 - 
https://metrics.dropwizard.io/metrics-servlets)
         * Netty/All-in-One (io.netty:netty-all:4.1.107.Final - 
https://netty.io/netty-all/)
         * Netty/Buffer (io.netty:netty-buffer:4.1.107.Final - 
https://netty.io/netty-buffer/)
diff --git a/LICENSE-binary b/LICENSE-binary
index bcc210bf6..c7c67c263 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -795,7 +795,7 @@ The license texts of these dependencies can be found in the 
licenses directory.
         * Google Guice - Core Library (com.google.inject:guice:4.2.3 - 
https://github.com/google/guice/guice)
         * Google Guice - Extensions - AssistedInject 
(com.google.inject.extensions:guice-assistedinject:3.0 - 
http://code.google.com/p/google-guice/extensions-parent/guice-assistedinject/)
         * Google Guice - Extensions - Servlet 
(com.google.inject.extensions:guice-servlet:4.2.3 - 
https://github.com/google/guice/extensions-parent/guice-servlet)
-        * Graphite Integration for Metrics 
(io.dropwizard.metrics:metrics-graphite:3.2.6 - 
http://metrics.dropwizard.io/metrics-graphite/)
+        * Graphite Integration for Metrics 
(io.dropwizard.metrics:metrics-graphite:4.2.26 - 
https://metrics.dropwizard.io/metrics-graphite)
         * Gson (com.google.code.gson:gson:2.10.1 - 
https://github.com/google/gson/gson)
         * Guava: Google Core Libraries for Java (com.google.guava:guava:19.0 - 
http://code.google.com/p/guava-libraries/guava)
         * Guava: Google Core Libraries for Java 
(com.google.guava:guava:33.0.0-jre - https://github.com/google/guava)
@@ -857,7 +857,7 @@ The license texts of these dependencies can be found in the 
licenses directory.
         * jsonschema2pojo-core (org.jsonschema2pojo:jsonschema2pojo-core:1.0.2 
- https://github.com/joelittlejohn/jsonschema2pojo/jsonschema2pojo-core)
         * JPam (net.sf.jpam:jpam:1.1 - http://jpam.sf.net)
         * JSON Small and Fast Parser (net.minidev:json-smart:2.5.1 - 
https://urielch.github.io/)
-        * JVM Integration for Metrics (io.dropwizard.metrics:metrics-jvm:3.2.6 
- http://metrics.dropwizard.io/metrics-jvm/)
+        * JVM Integration for Metrics 
(io.dropwizard.metrics:metrics-jvm:4.2.26 - 
https://metrics.dropwizard.io/metrics-jvm)
         * Kerb Simple Kdc (org.apache.kerby:kerb-simplekdc:2.0.3 - 
http://directory.apache.org/kerby/kerby-kerb/kerb-simplekdc)
         * Kerby ASN1 Project (org.apache.kerby:kerby-asn1:2.0.3 - 
http://directory.apache.org/kerby/kerby-common/kerby-asn1)
         * Kerby Config (org.apache.kerby:kerby-config:2.0.3 - 
http://directory.apache.org/kerby/kerby-common/kerby-config)
@@ -886,12 +886,12 @@ The license texts of these dependencies can be found in 
the licenses directory.
         * Maven Model (org.apache.maven:maven-model:3.6.0 - 
https://maven.apache.org/ref/3.6.0/maven-model/)
         * Maven Model Builder (org.apache.maven:maven-model-builder:3.6.0 - 
https://maven.apache.org/ref/3.6.0/maven-model-builder/)
         * Maven Repository Metadata Model 
(org.apache.maven:maven-repository-metadata:3.6.0 - 
https://maven.apache.org/ref/3.6.0/maven-repository-metadata/)
-        * Metrics Core (io.dropwizard.metrics:metrics-core:3.2.6 - 
http://metrics.dropwizard.io/metrics-core/)
+        * Metrics Core (io.dropwizard.metrics:metrics-core:4.2.26 - 
https://metrics.dropwizard.io/metrics-core)
         * Metrics Health Checks 
(io.dropwizard.metrics:metrics-healthchecks:4.1.16 - 
https://metrics.dropwizard.io/metrics-healthchecks)
         * Metrics Integration for Jersey 2.x 
(io.dropwizard.metrics:metrics-jersey2:4.1.16 - 
https://metrics.dropwizard.io/metrics-jersey2)
         * Metrics Integration for Jetty 9.3 and higher 
(io.dropwizard.metrics:metrics-jetty9:4.1.16 - 
https://metrics.dropwizard.io/metrics-jetty9)
         * Metrics Integration for Logback 
(io.dropwizard.metrics:metrics-logback:4.1.16 - 
https://metrics.dropwizard.io/metrics-logback)
-        * Metrics Integration with JMX 
(io.dropwizard.metrics:metrics-jmx:4.1.16 - 
https://metrics.dropwizard.io/metrics-jmx)
+        * Metrics Integration with JMX 
(io.dropwizard.metrics:metrics-jmx:4.2.26 - 
https://metrics.dropwizard.io/metrics-jmx)
         * Metrics Utility Servlets 
(io.dropwizard.metrics:metrics-servlets:4.1.16 - 
https://metrics.dropwizard.io/metrics-servlets)
         * Netty/All-in-One (io.netty:netty-all:4.1.107.Final - 
https://netty.io/netty-all/)
         * Netty/Buffer (io.netty:netty-buffer:4.1.107.Final - 
https://netty.io/netty-buffer/)
diff --git a/pom.xml b/pom.xml
index 67920cb55..381e65f9b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -147,11 +147,12 @@
         <azure-eventhubs.version>0.13.1</azure-eventhubs.version>
         <!-- Jersey 3.x is jakarta.* namespace. We have too many javax.* 
dependencies atm-->
         <jersey.version>2.40</jersey.version>
-        <dropwizard.version>1.3.29</dropwizard.version>
+        <dropwizard.version>4.0.7</dropwizard.version>
         <j2html.version>1.6.0</j2html.version>
         <caffeine.version>3.1.8</caffeine.version>
         <jakarta-jaxb-version>2.3.2</jakarta-jaxb-version>
         <jakarta-activation-version>1.2.1</jakarta-activation-version>
+        <jakarta-jaxws-version>2.1.6</jakarta-jaxws-version>
         <jaxb-version>2.3.0</jaxb-version>
         <activation-version>1.1.1</activation-version>
         <rocksdb-jni-version>8.10.0</rocksdb-jni-version>
@@ -687,6 +688,11 @@
                 <artifactId>javax.el</artifactId>
                 <version>${jakarta-el.version}</version>
             </dependency>
+            <dependency>
+                <groupId>jakarta.ws.rs</groupId>
+                <artifactId>jakarta.ws.rs-api</artifactId>
+                <version>${jakarta-jaxws-version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-api</artifactId>
@@ -848,6 +854,11 @@
                 <artifactId>metrics-jvm</artifactId>
                 <version>${metrics.version}</version>
             </dependency>
+            <dependency>
+                <groupId>io.dropwizard.metrics</groupId>
+                <artifactId>metrics-jmx</artifactId>
+                <version>${metrics.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.mockito</groupId>
                 <artifactId>mockito-core</artifactId>
diff --git a/storm-client/pom.xml b/storm-client/pom.xml
index b7ce59f09..8aca63702 100644
--- a/storm-client/pom.xml
+++ b/storm-client/pom.xml
@@ -104,6 +104,10 @@
             <groupId>io.dropwizard.metrics</groupId>
             <artifactId>metrics-jvm</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-jmx</artifactId>
+        </dependency>
 
         <!-- end of transitive dependency management -->
 
diff --git 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ConsoleStormReporter.java
 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ConsoleStormReporter.java
index bfa84fbcf..e4478151e 100644
--- 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ConsoleStormReporter.java
+++ 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ConsoleStormReporter.java
@@ -15,16 +15,15 @@ package org.apache.storm.metrics2.reporters;
 import com.codahale.metrics.ConsoleReporter;
 import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.ScheduledReporter;
+
+import java.io.IOException;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
-import org.apache.storm.Config;
 import org.apache.storm.daemon.metrics.ClientMetricsUtils;
 import org.apache.storm.metrics2.DimensionalReporter;
 import org.apache.storm.metrics2.MetricRegistryProvider;
-import org.apache.storm.metrics2.StormMetricRegistry;
 import org.apache.storm.metrics2.filters.StormMetricsFilter;
-import org.apache.storm.utils.ObjectReader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -103,4 +102,9 @@ public class ConsoleStormReporter extends 
ScheduledStormReporter implements Dime
             System.out.println(entry.getKey() + " : " + entry.getValue());
         }
     }
+
+    @Override
+    public void close() throws IOException {
+        super.close();
+    }
 }
\ No newline at end of file
diff --git 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/CsvStormReporter.java
 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/CsvStormReporter.java
index d76d14c09..8804c1b54 100644
--- 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/CsvStormReporter.java
+++ 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/CsvStormReporter.java
@@ -14,7 +14,9 @@ package org.apache.storm.metrics2.reporters;
 
 import com.codahale.metrics.CsvReporter;
 import com.codahale.metrics.MetricRegistry;
+
 import java.io.File;
+import java.io.IOException;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -86,4 +88,9 @@ public class CsvStormReporter extends ScheduledStormReporter {
         File csvMetricsDir = getCsvLogDir(topoConf, reporterConf);
         reporter = builder.build(csvMetricsDir);
     }
+
+    @Override
+    public void close() throws IOException {
+        super.close();
+    }
 }
\ No newline at end of file
diff --git 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/GraphiteStormReporter.java
 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/GraphiteStormReporter.java
index 3e5b84691..f4efc92d5 100644
--- 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/GraphiteStormReporter.java
+++ 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/GraphiteStormReporter.java
@@ -17,6 +17,8 @@ import com.codahale.metrics.graphite.Graphite;
 import com.codahale.metrics.graphite.GraphiteReporter;
 import com.codahale.metrics.graphite.GraphiteSender;
 import com.codahale.metrics.graphite.GraphiteUDP;
+
+import java.io.IOException;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import org.apache.storm.daemon.metrics.ClientMetricsUtils;
@@ -92,4 +94,9 @@ public class GraphiteStormReporter extends 
ScheduledStormReporter {
         }
         reporter = builder.build(sender);
     }
+
+    @Override
+    public void close() throws IOException {
+        super.close();
+    }
 }
\ No newline at end of file
diff --git 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/JmxStormReporter.java
 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/JmxStormReporter.java
index 5b732449c..da10ac159 100644
--- 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/JmxStormReporter.java
+++ 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/JmxStormReporter.java
@@ -12,8 +12,10 @@
 
 package org.apache.storm.metrics2.reporters;
 
-import com.codahale.metrics.JmxReporter;
 import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.jmx.JmxReporter;
+
+import java.io.IOException;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import org.apache.storm.daemon.metrics.ClientMetricsUtils;
@@ -83,4 +85,11 @@ public class JmxStormReporter implements StormReporter {
             throw new IllegalStateException("Attempt to stop without preparing 
" + getClass().getSimpleName());
         }
     }
+
+    @Override
+    public void close() throws IOException {
+        if (reporter != null) {
+            reporter.close();
+        }
+    }
 }
\ No newline at end of file
diff --git 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ScheduledStormReporter.java
 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ScheduledStormReporter.java
index 3a7c990b0..97220d0e3 100644
--- 
a/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ScheduledStormReporter.java
+++ 
b/storm-client/src/jvm/org/apache/storm/metrics2/reporters/ScheduledStormReporter.java
@@ -13,6 +13,8 @@
 package org.apache.storm.metrics2.reporters;
 
 import com.codahale.metrics.ScheduledReporter;
+
+import java.io.IOException;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import org.apache.storm.daemon.metrics.ClientMetricsUtils;
@@ -73,4 +75,11 @@ public abstract class ScheduledStormReporter implements 
StormReporter {
             throw new IllegalStateException("Attempt to stop without preparing 
" + getClass().getSimpleName());
         }
     }
+
+    @Override
+    public void close() throws IOException {
+        if (reporter != null) {
+            reporter.close();
+        }
+    }
 }
diff --git a/storm-server/pom.xml b/storm-server/pom.xml
index b0ad175fb..5cfd7cdaf 100644
--- a/storm-server/pom.xml
+++ b/storm-server/pom.xml
@@ -48,6 +48,10 @@
             <groupId>io.dropwizard.metrics</groupId>
             <artifactId>metrics-core</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.dropwizard.metrics</groupId>
+            <artifactId>metrics-jmx</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-exec</artifactId>
diff --git 
a/storm-server/src/main/java/org/apache/storm/daemon/metrics/reporters/JmxPreparableReporter.java
 
b/storm-server/src/main/java/org/apache/storm/daemon/metrics/reporters/JmxPreparableReporter.java
index e42aaa2c5..718df7ee7 100644
--- 
a/storm-server/src/main/java/org/apache/storm/daemon/metrics/reporters/JmxPreparableReporter.java
+++ 
b/storm-server/src/main/java/org/apache/storm/daemon/metrics/reporters/JmxPreparableReporter.java
@@ -12,12 +12,12 @@
 
 package org.apache.storm.daemon.metrics.reporters;
 
-import com.codahale.metrics.JmxReporter;
 import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.jmx.JmxReporter;
+
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import org.apache.storm.DaemonConfig;
-import org.apache.storm.daemon.metrics.ClientMetricsUtils;
 import org.apache.storm.daemon.metrics.MetricsUtils;
 import org.apache.storm.utils.ObjectReader;
 import org.slf4j.Logger;
diff --git a/storm-webapp/pom.xml b/storm-webapp/pom.xml
index 7ff751f77..1bb117d7a 100644
--- a/storm-webapp/pom.xml
+++ b/storm-webapp/pom.xml
@@ -110,7 +110,10 @@
             <version>${dropwizard.version}</version>
             <scope>test</scope>
         </dependency>
-
+        <dependency>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
+        </dependency>
         <!-- UI -->
         <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
@@ -126,10 +129,6 @@
         </dependency>
         <!-- Extra Java 11 jars for Jersey. Jersey's dependency tree only 
includes these on Java 11,
             so we need to include them manually to ensure that Java 8 builds 
work on Java 11. -->
-        <dependency>
-            <groupId>com.sun.activation</groupId>
-            <artifactId>jakarta.activation</artifactId>
-        </dependency>
         <dependency>
             <groupId>jakarta.activation</groupId>
             <artifactId>jakarta.activation-api</artifactId>
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java 
b/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
index 54ad7c3e6..28a917ae9 100644
--- a/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
+++ b/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java
@@ -24,6 +24,7 @@ import java.util.Arrays;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
+import javax.inject.Singleton;
 import javax.servlet.DispatcherType;
 import org.apache.storm.Config;
 import org.apache.storm.DaemonConfig;
diff --git 
a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandlerTest.java
 
b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandlerTest.java
index a3edd4afb..c570f29b1 100644
--- 
a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandlerTest.java
+++ 
b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandlerTest.java
@@ -41,7 +41,6 @@ import org.apache.storm.daemon.logviewer.utils.WorkerLogs;
 import org.apache.storm.metric.StormMetricsRegistry;
 import org.apache.storm.testing.TmpPath;
 import org.apache.storm.utils.Utils;
-import org.assertj.core.util.Lists;
 import org.junit.jupiter.api.Test;
 
 public class LogviewerLogPageHandlerTest {
@@ -70,19 +69,19 @@ public class LogviewerLogPageHandlerTest {
                 new WorkerLogs(stormConf, Paths.get(rootPath), 
metricsRegistry), new ResourceAuthorizer(stormConf), metricsRegistry);
 
         final Response expectedAll = 
LogviewerResponseBuilder.buildSuccessJsonResponse(
-                Lists.newArrayList("topoA/port1/worker.log", 
"topoA/port2/worker.log", "topoB/port1/worker.log"),
+                List.of("topoA/port1/worker.log", "topoA/port2/worker.log", 
"topoB/port1/worker.log"),
                 null,
                 origin
         );
 
         final Response expectedFilterPort = 
LogviewerResponseBuilder.buildSuccessJsonResponse(
-                Lists.newArrayList("topoA/port1/worker.log", 
"topoB/port1/worker.log"),
+                List.of("topoA/port1/worker.log", "topoB/port1/worker.log"),
                 null,
                 origin
         );
 
         final Response expectedFilterTopoId = 
LogviewerResponseBuilder.buildSuccessJsonResponse(
-                Lists.newArrayList("topoB/port1/worker.log"),
+                List.of("topoB/port1/worker.log"),
                 null,
                 origin
         );
@@ -116,7 +115,7 @@ public class LogviewerLogPageHandlerTest {
 
             //The response should be empty, since you should not be able to 
list files outside the worker log root.
             final Response expected = 
LogviewerResponseBuilder.buildSuccessJsonResponse(
-                Lists.newArrayList(),
+                List.of(),
                 null,
                 origin
             );
diff --git 
a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
 
b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
index b877f7db0..66415b3cf 100644
--- 
a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
+++ 
b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
@@ -56,15 +56,14 @@ import org.apache.storm.streams.tuple.Tuple3;
 import org.apache.storm.utils.Utils;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 
-@RunWith(Enclosed.class)
 public class LogviewerLogSearchHandlerTest {
 
-    public static class SearchViaRestApi {
+    @Nested
+    public class SearchViaRestApi {
 
         private final String pattern = "needle";
         private final String expectedHost = "dev.null.invalid";

Reply via email to