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

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


The following commit(s) were added to refs/heads/master by this push:
     new c1167647f Migrate project from commons-lang to commons-lang3 (#8424)
c1167647f is described below

commit c1167647fe3b47e283e86028fc7877f98953a7c8
Author: reiabreu <[email protected]>
AuthorDate: Sun Mar 15 19:19:05 2026 +0000

    Migrate project from commons-lang to commons-lang3 (#8424)
    
    * Migrate project from commons-lang to commons-lang3
    
    * Migrate project from commons-lang to commons-lang3
---
 DEPENDENCY-LICENSES                                      |  1 -
 LICENSE-binary                                           |  1 -
 .../java/org/apache/storm/perf/spout/StringGenSpout.java |  2 +-
 external/storm-kafka-client/pom.xml                      |  4 ++--
 .../java/org/apache/storm/kafka/spout/KafkaSpout.java    |  2 +-
 .../org/apache/storm/kafka/spout/KafkaSpoutConfig.java   |  4 ++--
 .../kafka/spout/KafkaSpoutRetryExponentialBackoff.java   |  2 +-
 .../kafka/spout/internal/CommonKafkaSpoutConfig.java     |  4 ++--
 .../spout/trident/KafkaTridentSpoutBatchMetadata.java    |  2 +-
 .../src/test/java/org/apache/storm/kafka/KafkaUnit.java  |  2 +-
 external/storm-kafka-migration/pom.xml                   |  4 ++--
 .../kafka/migration/KafkaTridentSpoutMigration.java      |  4 ++--
 .../test/java/org/apache/storm/redis/util/StubTuple.java |  2 +-
 integration-test/pom.xml                                 |  4 ++--
 .../main/java/org/apache/storm/debug/DebugHelper.java    |  2 +-
 .../storm/st/topology/window/data/TimeDataWindow.java    |  4 ++--
 .../java/org/apache/storm/st/utils/StringDecorator.java  |  2 +-
 .../main/java/org/apache/storm/st/utils/TimeUtil.java    |  6 +++---
 .../java/org/apache/storm/st/meta/TestngListener.java    |  4 ++--
 .../test/java/org/apache/storm/st/utils/AssertUtil.java  |  2 +-
 .../org/apache/storm/st/wrapper/DecoratedLogLine.java    |  2 +-
 .../java/org/apache/storm/st/wrapper/StormCluster.java   |  4 ++--
 .../test/java/org/apache/storm/st/wrapper/TopoWrap.java  |  6 +++---
 pom.xml                                                  |  6 ------
 .../src/jvm/org/apache/storm/StormSubmitter.java         |  2 +-
 .../org/apache/storm/blobstore/BlobStoreAclHandler.java  |  2 +-
 .../org/apache/storm/cluster/StormClusterStateImpl.java  |  2 +-
 .../src/jvm/org/apache/storm/daemon/StormCommon.java     |  2 +-
 .../storm/daemon/supervisor/ClientSupervisorUtils.java   |  2 +-
 .../apache/storm/daemon/worker/BackPressureTracker.java  |  4 ++--
 .../src/jvm/org/apache/storm/daemon/worker/Worker.java   |  2 +-
 .../storm/dependency/DependencyBlobStoreUtils.java       |  2 +-
 .../src/jvm/org/apache/storm/executor/TupleInfo.java     |  4 ++--
 .../apache/storm/metric/cgroup/CGroupMetricsBase.java    |  2 +-
 .../apache/storm/metrics2/cgroup/CGroupMetricsBase.java  |  2 +-
 .../auth/kerberos/KerberosSaslTransportPlugin.java       |  2 +-
 .../src/jvm/org/apache/storm/task/TopologyContext.java   |  2 +-
 .../org/apache/storm/topology/ConfigurableTopology.java  |  2 +-
 .../apache/storm/trident/drpc/ReturnResultsReducer.java  |  2 +-
 .../storm/trident/operation/impl/ChainedResult.java      |  2 +-
 .../src/jvm/org/apache/storm/trident/planner/Node.java   |  4 ++--
 .../jvm/org/apache/storm/trident/state/OpaqueValue.java  |  2 +-
 .../apache/storm/trident/state/TransactionalValue.java   |  2 +-
 .../storm/trident/topology/TridentBoltExecutor.java      |  2 +-
 .../storm/trident/topology/TridentTopologyBuilder.java   |  4 ++--
 .../jvm/org/apache/storm/trident/tuple/ComboList.java    |  2 +-
 .../jvm/org/apache/storm/trident/tuple/ValuePointer.java |  2 +-
 .../storm/trident/windowing/WindowsStateUpdater.java     |  3 +--
 .../src/jvm/org/apache/storm/utils/CuratorUtils.java     |  2 +-
 storm-client/src/jvm/org/apache/storm/utils/Utils.java   |  2 +-
 storm-core/pom.xml                                       |  4 ++--
 .../src/jvm/org/apache/storm/command/Blobstore.java      |  2 +-
 .../jvm/org/apache/storm/command/ShellSubmission.java    |  2 +-
 storm-core/test/jvm/org/apache/storm/SubmitterTest.java  |  2 +-
 .../jvm/org/apache/storm/messaging/netty/NettyTest.java  |  2 +-
 storm-server/pom.xml                                     |  4 ++--
 .../org/apache/storm/container/cgroup/CgroupManager.java |  2 +-
 .../org/apache/storm/container/docker/DockerCommand.java |  2 +-
 .../apache/storm/container/docker/DockerExecCommand.java |  2 +-
 .../storm/container/docker/DockerInspectCommand.java     |  2 +-
 .../org/apache/storm/container/docker/DockerManager.java |  2 +-
 .../apache/storm/container/docker/DockerPsCommand.java   |  2 +-
 .../apache/storm/container/docker/DockerRmCommand.java   |  2 +-
 .../apache/storm/container/docker/DockerRunCommand.java  |  2 +-
 .../apache/storm/container/docker/DockerStopCommand.java |  2 +-
 .../apache/storm/container/docker/DockerWaitCommand.java |  2 +-
 .../storm/container/oci/RuncLibContainerManager.java     |  2 +-
 .../apache/storm/daemon/supervisor/BasicContainer.java   |  2 +-
 .../org/apache/storm/daemon/supervisor/Container.java    |  2 +-
 .../org/apache/storm/scheduler/IsolationScheduler.java   |  2 +-
 .../org/apache/storm/security/auth/ServerAuthUtils.java  |  2 +-
 .../main/java/org/apache/storm/utils/ServerUtils.java    |  2 +-
 .../main/java/org/apache/storm/zookeeper/Zookeeper.java  |  2 +-
 .../java/org/apache/storm/utils/ServerUtilsTest.java     |  8 ++++----
 storm-shaded-deps/pom.xml                                | 10 +++++-----
 storm-submit-tools/pom.xml                               |  4 ++--
 .../storm/submit/command/DependencyResolverMain.java     |  2 +-
 .../apache/storm/daemon/logviewer/LogviewerServer.java   |  2 +-
 .../logviewer/handler/LogviewerLogPageHandler.java       | 16 ++++++++--------
 .../logviewer/handler/LogviewerLogSearchHandler.java     |  4 ++--
 .../logviewer/handler/LogviewerProfileHandler.java       |  2 +-
 .../daemon/logviewer/utils/LogviewerResponseBuilder.java |  4 ++--
 .../storm/daemon/logviewer/utils/ResourceAuthorizer.java |  2 +-
 .../storm/daemon/logviewer/webapp/LogviewerResource.java |  4 ++--
 84 files changed, 118 insertions(+), 127 deletions(-)

diff --git a/DEPENDENCY-LICENSES b/DEPENDENCY-LICENSES
index a1fa1c0c8..092db934e 100644
--- a/DEPENDENCY-LICENSES
+++ b/DEPENDENCY-LICENSES
@@ -83,7 +83,6 @@ List of third-party dependencies grouped by their license 
type.
         * chill-java (com.twitter:chill-java:0.9.5 - 
https://github.com/twitter/chill)
         * ClassMate (com.fasterxml:classmate:1.7.3 - 
https://github.com/FasterXML/java-classmate)
         * com.helger:profiler (com.helger:profiler:1.1.1 - 
https://github.com/phax/profiler)
-        * Commons Lang (commons-lang:commons-lang:2.6 - 
http://commons.apache.org/lang/)
         * Curator Client (org.apache.curator:curator-client:5.9.0 - 
https://curator.apache.org/curator-client)
         * Curator Framework (org.apache.curator:curator-framework:5.9.0 - 
https://curator.apache.org/curator-framework)
         * Curator Recipes (org.apache.curator:curator-recipes:5.9.0 - 
https://curator.apache.org/curator-recipes)
diff --git a/LICENSE-binary b/LICENSE-binary
index e0bc43489..fee0853c7 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -709,7 +709,6 @@ The license texts of these dependencies can be found in the 
licenses directory.
         * chill-java (com.twitter:chill-java:0.9.5 - 
https://github.com/twitter/chill)
         * ClassMate (com.fasterxml:classmate:1.7.3 - 
https://github.com/FasterXML/java-classmate)
         * com.helger:profiler (com.helger:profiler:1.1.1 - 
https://github.com/phax/profiler)
-        * Commons Lang (commons-lang:commons-lang:2.6 - 
http://commons.apache.org/lang/)
         * Curator Client (org.apache.curator:curator-client:5.9.0 - 
https://curator.apache.org/curator-client)
         * Curator Framework (org.apache.curator:curator-framework:5.9.0 - 
https://curator.apache.org/curator-framework)
         * Curator Recipes (org.apache.curator:curator-recipes:5.9.0 - 
https://curator.apache.org/curator-recipes)
diff --git 
a/examples/storm-perf/src/main/java/org/apache/storm/perf/spout/StringGenSpout.java
 
b/examples/storm-perf/src/main/java/org/apache/storm/perf/spout/StringGenSpout.java
index 01964ea59..1d0470c3e 100755
--- 
a/examples/storm-perf/src/main/java/org/apache/storm/perf/spout/StringGenSpout.java
+++ 
b/examples/storm-perf/src/main/java/org/apache/storm/perf/spout/StringGenSpout.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.storm.spout.SpoutOutputCollector;
 import org.apache.storm.task.TopologyContext;
 import org.apache.storm.topology.OutputFieldsDeclarer;
diff --git a/external/storm-kafka-client/pom.xml 
b/external/storm-kafka-client/pom.xml
index 42082b784..91b49b6c3 100644
--- a/external/storm-kafka-client/pom.xml
+++ b/external/storm-kafka-client/pom.xml
@@ -145,8 +145,8 @@
             <artifactId>curator-test</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
         </dependency>
     </dependencies>
 
diff --git 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpout.java
 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpout.java
index d66d936a2..370af537b 100644
--- 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpout.java
+++ 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpout.java
@@ -40,7 +40,7 @@ import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
 import org.apache.kafka.clients.admin.Admin;
 import org.apache.kafka.clients.consumer.Consumer;
 import org.apache.kafka.clients.consumer.ConsumerRebalanceListener;
diff --git 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutConfig.java
 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutConfig.java
index cc2efc475..d4e978978 100644
--- 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutConfig.java
+++ 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutConfig.java
@@ -20,8 +20,8 @@ package org.apache.storm.kafka.spout;
 
 import java.util.Set;
 import java.util.regex.Pattern;
-import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.kafka.clients.consumer.ConsumerConfig;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.apache.kafka.common.serialization.StringDeserializer;
diff --git 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.java
 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.java
index ac288024d..8a2f54303 100644
--- 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.java
+++ 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.java
@@ -28,7 +28,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.concurrent.TimeUnit;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
 import org.apache.kafka.common.TopicPartition;
 import org.apache.storm.utils.Time;
 import org.slf4j.Logger;
diff --git 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/internal/CommonKafkaSpoutConfig.java
 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/internal/CommonKafkaSpoutConfig.java
index c028af017..d0e748232 100644
--- 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/internal/CommonKafkaSpoutConfig.java
+++ 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/internal/CommonKafkaSpoutConfig.java
@@ -23,8 +23,8 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.regex.Pattern;
-import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.kafka.clients.consumer.ConsumerConfig;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.apache.kafka.clients.consumer.KafkaConsumer;
diff --git 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/trident/KafkaTridentSpoutBatchMetadata.java
 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/trident/KafkaTridentSpoutBatchMetadata.java
index da3765366..e20eb68ee 100644
--- 
a/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/trident/KafkaTridentSpoutBatchMetadata.java
+++ 
b/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/trident/KafkaTridentSpoutBatchMetadata.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/KafkaUnit.java
 
b/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/KafkaUnit.java
index de14a300d..433c5cbb9 100644
--- 
a/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/KafkaUnit.java
+++ 
b/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/KafkaUnit.java
@@ -32,7 +32,7 @@ import java.util.concurrent.TimeoutException;
 import kafka.server.KafkaConfig;
 import kafka.server.KafkaRaftServer;
 import kafka.server.Server;
-import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.curator.test.TestingServer;
 import org.apache.kafka.clients.admin.AdminClient;
 import org.apache.kafka.clients.admin.AdminClientConfig;
diff --git a/external/storm-kafka-migration/pom.xml 
b/external/storm-kafka-migration/pom.xml
index 535e4016a..c2c562544 100644
--- a/external/storm-kafka-migration/pom.xml
+++ b/external/storm-kafka-migration/pom.xml
@@ -72,8 +72,8 @@
             <artifactId>log4j-slf4j2-impl</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
         </dependency>
     </dependencies>
 
diff --git 
a/external/storm-kafka-migration/src/main/java/org/apache/storm/kafka/migration/KafkaTridentSpoutMigration.java
 
b/external/storm-kafka-migration/src/main/java/org/apache/storm/kafka/migration/KafkaTridentSpoutMigration.java
index 25a16dcf4..f27ecef03 100644
--- 
a/external/storm-kafka-migration/src/main/java/org/apache/storm/kafka/migration/KafkaTridentSpoutMigration.java
+++ 
b/external/storm-kafka-migration/src/main/java/org/apache/storm/kafka/migration/KafkaTridentSpoutMigration.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
 import org.apache.curator.framework.api.PathAndBytesable;
diff --git 
a/external/storm-redis/src/test/java/org/apache/storm/redis/util/StubTuple.java 
b/external/storm-redis/src/test/java/org/apache/storm/redis/util/StubTuple.java
index ec1e3e942..2aab83492 100644
--- 
a/external/storm-redis/src/test/java/org/apache/storm/redis/util/StubTuple.java
+++ 
b/external/storm-redis/src/test/java/org/apache/storm/redis/util/StubTuple.java
@@ -19,7 +19,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import org.apache.storm.generated.GlobalStreamId;
-import org.apache.storm.shade.org.apache.commons.lang.NotImplementedException;
+import org.apache.storm.shade.org.apache.commons.lang3.NotImplementedException;
 import org.apache.storm.task.GeneralTopologyContext;
 import org.apache.storm.tuple.Fields;
 import org.apache.storm.tuple.MessageId;
diff --git a/integration-test/pom.xml b/integration-test/pom.xml
index 6e062539a..84830037a 100644
--- a/integration-test/pom.xml
+++ b/integration-test/pom.xml
@@ -70,8 +70,8 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-          <groupId>commons-lang</groupId>
-          <artifactId>commons-lang</artifactId>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
           <groupId>commons-io</groupId>
diff --git 
a/integration-test/src/main/java/org/apache/storm/debug/DebugHelper.java 
b/integration-test/src/main/java/org/apache/storm/debug/DebugHelper.java
index 75f0c9bfa..61ba9d930 100644
--- a/integration-test/src/main/java/org/apache/storm/debug/DebugHelper.java
+++ b/integration-test/src/main/java/org/apache/storm/debug/DebugHelper.java
@@ -20,7 +20,7 @@ package org.apache.storm.debug;
 import java.net.URL;
 import java.net.URLClassLoader;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/integration-test/src/main/java/org/apache/storm/st/topology/window/data/TimeDataWindow.java
 
b/integration-test/src/main/java/org/apache/storm/st/topology/window/data/TimeDataWindow.java
index b6ba46269..84dd63e07 100644
--- 
a/integration-test/src/main/java/org/apache/storm/st/topology/window/data/TimeDataWindow.java
+++ 
b/integration-test/src/main/java/org/apache/storm/st/topology/window/data/TimeDataWindow.java
@@ -21,8 +21,8 @@ import com.google.gson.reflect.TypeToken;
 import java.lang.reflect.Type;
 import java.util.List;
 import java.util.TreeSet;
-import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 public class TimeDataWindow {
     private static final Type LIST_TYPE = new TypeToken<List<TimeData>>() 
{}.getType(); 
diff --git 
a/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java 
b/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java
index e760c7aa9..8f9feeb64 100644
--- 
a/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java
+++ 
b/integration-test/src/main/java/org/apache/storm/st/utils/StringDecorator.java
@@ -17,7 +17,7 @@
 
 package org.apache.storm.st.utils;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * This class provides a method to pass data from the test bolts and spouts to 
the test method, via the worker log.
diff --git 
a/integration-test/src/main/java/org/apache/storm/st/utils/TimeUtil.java 
b/integration-test/src/main/java/org/apache/storm/st/utils/TimeUtil.java
index 887ff14e6..fb99e99fc 100644
--- a/integration-test/src/main/java/org/apache/storm/st/utils/TimeUtil.java
+++ b/integration-test/src/main/java/org/apache/storm/st/utils/TimeUtil.java
@@ -21,7 +21,7 @@ import java.time.Duration;
 import java.time.ZonedDateTime;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -32,7 +32,7 @@ public class TimeUtil {
         try {
             TimeUnit.SECONDS.sleep(sec);
         } catch (InterruptedException e) {
-            log.warn("Caught exception: " + 
ExceptionUtils.getFullStackTrace(e));
+            log.warn("Caught exception: " + ExceptionUtils.getStackTrace(e));
         }
     }
 
@@ -40,7 +40,7 @@ public class TimeUtil {
         try {
             TimeUnit.MILLISECONDS.sleep(milliSec);
         } catch (InterruptedException e) {
-            log.warn("Caught exception: " + 
ExceptionUtils.getFullStackTrace(e));
+            log.warn("Caught exception: " + ExceptionUtils.getStackTrace(e));
         }
     }
 
diff --git 
a/integration-test/src/test/java/org/apache/storm/st/meta/TestngListener.java 
b/integration-test/src/test/java/org/apache/storm/st/meta/TestngListener.java
index ed2f9ce4d..cb9018cd4 100644
--- 
a/integration-test/src/test/java/org/apache/storm/st/meta/TestngListener.java
+++ 
b/integration-test/src/test/java/org/apache/storm/st/meta/TestngListener.java
@@ -17,8 +17,8 @@
 
 package org.apache.storm.st.meta;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.log4j.Logger;
 import org.apache.log4j.NDC;
 import org.testng.IExecutionListener;
diff --git 
a/integration-test/src/test/java/org/apache/storm/st/utils/AssertUtil.java 
b/integration-test/src/test/java/org/apache/storm/st/utils/AssertUtil.java
index 68de4fadd..582e1593c 100644
--- a/integration-test/src/test/java/org/apache/storm/st/utils/AssertUtil.java
+++ b/integration-test/src/test/java/org/apache/storm/st/utils/AssertUtil.java
@@ -17,7 +17,7 @@
 
 package org.apache.storm.st.utils;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/integration-test/src/test/java/org/apache/storm/st/wrapper/DecoratedLogLine.java
 
b/integration-test/src/test/java/org/apache/storm/st/wrapper/DecoratedLogLine.java
index 473e0237c..c3090c1a9 100644
--- 
a/integration-test/src/test/java/org/apache/storm/st/wrapper/DecoratedLogLine.java
+++ 
b/integration-test/src/test/java/org/apache/storm/st/wrapper/DecoratedLogLine.java
@@ -18,7 +18,7 @@
 package org.apache.storm.st.wrapper;
 
 import org.apache.storm.st.utils.AssertUtil;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.st.utils.StringDecorator;
 
 import java.time.ZonedDateTime;
diff --git 
a/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java 
b/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java
index f807c55ff..33f9dbbfc 100644
--- 
a/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java
+++ 
b/integration-test/src/test/java/org/apache/storm/st/wrapper/StormCluster.java
@@ -19,7 +19,7 @@ package org.apache.storm.st.wrapper;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.Collections2;
-import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.storm.generated.ClusterSummary;
 import org.apache.storm.generated.KillOptions;
 import org.apache.storm.generated.Nimbus;
@@ -95,7 +95,7 @@ public class StormCluster {
                 log.info("Topology killed: " + topologyName);
                 return;
             } catch (TException e) {
-                log.warn("Couldn't kill topology: " + topologyName + ", going 
to retry soon. Exception: " + ExceptionUtils.getFullStackTrace(e));
+                log.warn("Couldn't kill topology: " + topologyName + ", going 
to retry soon. Exception: " + ExceptionUtils.getStackTrace(e));
                 Thread.sleep(TimeUnit.SECONDS.toMillis(2));
             }
         }
diff --git 
a/integration-test/src/test/java/org/apache/storm/st/wrapper/TopoWrap.java 
b/integration-test/src/test/java/org/apache/storm/st/wrapper/TopoWrap.java
index ba4de1c7b..900509342 100644
--- a/integration-test/src/test/java/org/apache/storm/st/wrapper/TopoWrap.java
+++ b/integration-test/src/test/java/org/apache/storm/st/wrapper/TopoWrap.java
@@ -43,8 +43,8 @@ import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.storm.Config;
 import org.apache.storm.StormSubmitter;
 import org.apache.storm.generated.AlreadyAliveException;
@@ -359,7 +359,7 @@ public class TopoWrap {
             FileUtils.forceMkdir(logDir);
             FileUtils.write(logFile, urlContent, StandardCharsets.UTF_8);
         } catch (Throwable throwable) {
-            LOG.info("Caught exception: " + 
ExceptionUtils.getFullStackTrace(throwable));
+            LOG.info("Caught exception: " + 
ExceptionUtils.getStackTrace(throwable));
         }
     }
 
diff --git a/pom.xml b/pom.xml
index 0894baf5b..f1189fe62 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,7 +84,6 @@
         <clojure.version>1.12.4</clojure.version>
         <commons-compress.version>1.28.0</commons-compress.version>
         <commons-io.version>2.21.0</commons-io.version>
-        <commons-lang.version>2.6</commons-lang.version>
         <commons-lang3.version>3.20.0</commons-lang3.version>
         <commons-exec.version>1.6.0</commons-exec.version>
         <commons-collections.version>4.5.0</commons-collections.version>
@@ -598,11 +597,6 @@
                 <artifactId>commons-collections4</artifactId>
                 <version>${commons-collections.version}</version>
             </dependency>
-            <dependency>
-                <groupId>commons-lang</groupId>
-                <artifactId>commons-lang</artifactId>
-                <version>${commons-lang.version}</version>
-            </dependency>
             <dependency>
                 <groupId>org.apache.commons</groupId>
                 <artifactId>commons-text</artifactId>
diff --git a/storm-client/src/jvm/org/apache/storm/StormSubmitter.java 
b/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
index a2692404c..849fa1a09 100644
--- a/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
+++ b/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
@@ -42,7 +42,7 @@ import org.apache.storm.hooks.SubmitterHookException;
 import org.apache.storm.security.auth.ClientAuthUtils;
 import org.apache.storm.security.auth.IAutoCredentials;
 import org.apache.storm.shade.net.minidev.json.JSONValue;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.thrift.TException;
 import org.apache.storm.utils.BufferFileInputStream;
 import org.apache.storm.utils.NimbusClient;
diff --git 
a/storm-client/src/jvm/org/apache/storm/blobstore/BlobStoreAclHandler.java 
b/storm-client/src/jvm/org/apache/storm/blobstore/BlobStoreAclHandler.java
index df6ca548c..a61fb6624 100644
--- a/storm-client/src/jvm/org/apache/storm/blobstore/BlobStoreAclHandler.java
+++ b/storm-client/src/jvm/org/apache/storm/blobstore/BlobStoreAclHandler.java
@@ -30,7 +30,7 @@ import org.apache.storm.security.auth.ClientAuthUtils;
 import org.apache.storm.security.auth.IGroupMappingServiceProvider;
 import org.apache.storm.security.auth.IPrincipalToLocal;
 import org.apache.storm.security.auth.NimbusPrincipal;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.utils.WrappedAuthorizationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/storm-client/src/jvm/org/apache/storm/cluster/StormClusterStateImpl.java 
b/storm-client/src/jvm/org/apache/storm/cluster/StormClusterStateImpl.java
index 742e2f915..3044b37ca 100644
--- a/storm-client/src/jvm/org/apache/storm/cluster/StormClusterStateImpl.java
+++ b/storm-client/src/jvm/org/apache/storm/cluster/StormClusterStateImpl.java
@@ -41,7 +41,7 @@ import org.apache.storm.generated.StormBase;
 import org.apache.storm.generated.SupervisorInfo;
 import org.apache.storm.generated.WorkerTokenServiceType;
 import org.apache.storm.nimbus.NimbusInfo;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import 
org.apache.storm.shade.org.apache.curator.framework.state.ConnectionState;
 import org.apache.storm.shade.org.apache.zookeeper.KeeperException;
 import org.apache.storm.shade.org.apache.zookeeper.Watcher;
diff --git a/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java 
b/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
index 13d793c21..b3cfd90d4 100644
--- a/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
+++ b/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
@@ -43,7 +43,7 @@ import org.apache.storm.metric.util.DataPointExpander;
 import org.apache.storm.security.auth.IAuthorizer;
 import org.apache.storm.serialization.SerializationFactory;
 import org.apache.storm.shade.net.minidev.json.JSONValue;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.task.IBolt;
 import org.apache.storm.task.WorkerTopologyContext;
 import org.apache.storm.tuple.Fields;
diff --git 
a/storm-client/src/jvm/org/apache/storm/daemon/supervisor/ClientSupervisorUtils.java
 
b/storm-client/src/jvm/org/apache/storm/daemon/supervisor/ClientSupervisorUtils.java
index db32faa2d..9dee5e03d 100644
--- 
a/storm-client/src/jvm/org/apache/storm/daemon/supervisor/ClientSupervisorUtils.java
+++ 
b/storm-client/src/jvm/org/apache/storm/daemon/supervisor/ClientSupervisorUtils.java
@@ -26,7 +26,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
 import org.apache.storm.Config;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.utils.ConfigUtils;
 import org.apache.storm.utils.ObjectReader;
 import org.apache.storm.utils.ShellUtils;
diff --git 
a/storm-client/src/jvm/org/apache/storm/daemon/worker/BackPressureTracker.java 
b/storm-client/src/jvm/org/apache/storm/daemon/worker/BackPressureTracker.java
index e1918708a..da3548bef 100644
--- 
a/storm-client/src/jvm/org/apache/storm/daemon/worker/BackPressureTracker.java
+++ 
b/storm-client/src/jvm/org/apache/storm/daemon/worker/BackPressureTracker.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 import org.apache.storm.messaging.netty.BackPressureStatus;
 import org.apache.storm.metrics2.StormMetricRegistry;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.storm.utils.JCQueue;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/storm-client/src/jvm/org/apache/storm/daemon/worker/Worker.java 
b/storm-client/src/jvm/org/apache/storm/daemon/worker/Worker.java
index f4281211c..988e7bd72 100644
--- a/storm-client/src/jvm/org/apache/storm/daemon/worker/Worker.java
+++ b/storm-client/src/jvm/org/apache/storm/daemon/worker/Worker.java
@@ -60,7 +60,7 @@ import org.apache.storm.security.auth.ClientAuthUtils;
 import org.apache.storm.security.auth.IAutoCredentials;
 import org.apache.storm.shade.com.google.common.base.Preconditions;
 import org.apache.storm.shade.org.apache.commons.io.FileUtils;
-import org.apache.storm.shade.org.apache.commons.lang.ObjectUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.ObjectUtils;
 import 
org.apache.storm.shade.uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4J;
 import org.apache.storm.stats.ClientStatsUtil;
 import org.apache.storm.utils.ConfigUtils;
diff --git 
a/storm-client/src/jvm/org/apache/storm/dependency/DependencyBlobStoreUtils.java
 
b/storm-client/src/jvm/org/apache/storm/dependency/DependencyBlobStoreUtils.java
index a83e6ca28..5211e5570 100644
--- 
a/storm-client/src/jvm/org/apache/storm/dependency/DependencyBlobStoreUtils.java
+++ 
b/storm-client/src/jvm/org/apache/storm/dependency/DependencyBlobStoreUtils.java
@@ -20,7 +20,7 @@ package org.apache.storm.dependency;
 
 import java.util.UUID;
 import org.apache.storm.shade.com.google.common.io.Files;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 
 public class DependencyBlobStoreUtils {
 
diff --git a/storm-client/src/jvm/org/apache/storm/executor/TupleInfo.java 
b/storm-client/src/jvm/org/apache/storm/executor/TupleInfo.java
index 745e3c5a7..ca53b33a9 100644
--- a/storm-client/src/jvm/org/apache/storm/executor/TupleInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/executor/TupleInfo.java
@@ -14,8 +14,8 @@ package org.apache.storm.executor;
 
 import java.io.Serializable;
 import java.util.List;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringStyle;
 
 public class TupleInfo implements Serializable {
 
diff --git 
a/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupMetricsBase.java 
b/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupMetricsBase.java
index 97090b727..0a4da72f2 100644
--- a/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupMetricsBase.java
+++ b/storm-client/src/jvm/org/apache/storm/metric/cgroup/CGroupMetricsBase.java
@@ -23,7 +23,7 @@ import org.apache.storm.container.cgroup.CgroupCoreFactory;
 import org.apache.storm.container.cgroup.SubSystemType;
 import org.apache.storm.container.cgroup.core.CgroupCore;
 import org.apache.storm.metric.api.IMetric;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/storm-client/src/jvm/org/apache/storm/metrics2/cgroup/CGroupMetricsBase.java 
b/storm-client/src/jvm/org/apache/storm/metrics2/cgroup/CGroupMetricsBase.java
index 50f6a7b1e..4ae9efa3f 100644
--- 
a/storm-client/src/jvm/org/apache/storm/metrics2/cgroup/CGroupMetricsBase.java
+++ 
b/storm-client/src/jvm/org/apache/storm/metrics2/cgroup/CGroupMetricsBase.java
@@ -21,7 +21,7 @@ import org.apache.storm.container.cgroup.CgroupCenter;
 import org.apache.storm.container.cgroup.CgroupCoreFactory;
 import org.apache.storm.container.cgroup.SubSystemType;
 import org.apache.storm.container.cgroup.core.CgroupCore;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/storm-client/src/jvm/org/apache/storm/security/auth/kerberos/KerberosSaslTransportPlugin.java
 
b/storm-client/src/jvm/org/apache/storm/security/auth/kerberos/KerberosSaslTransportPlugin.java
index a8c40883f..980ac4478 100644
--- 
a/storm-client/src/jvm/org/apache/storm/security/auth/kerberos/KerberosSaslTransportPlugin.java
+++ 
b/storm-client/src/jvm/org/apache/storm/security/auth/kerberos/KerberosSaslTransportPlugin.java
@@ -33,7 +33,7 @@ import 
org.apache.storm.security.auth.sasl.SaslTransportPlugin;
 import org.apache.storm.security.auth.sasl.SimpleSaslServerCallbackHandler;
 import org.apache.storm.security.auth.workertoken.WorkerTokenAuthorizer;
 import 
org.apache.storm.security.auth.workertoken.WorkerTokenClientCallbackHandler;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.shade.org.apache.zookeeper.server.auth.KerberosName;
 import org.apache.storm.thrift.transport.TSaslClientTransport;
 import org.apache.storm.thrift.transport.TSaslServerTransport;
diff --git a/storm-client/src/jvm/org/apache/storm/task/TopologyContext.java 
b/storm-client/src/jvm/org/apache/storm/task/TopologyContext.java
index ca7355fed..ab028bbef 100644
--- a/storm-client/src/jvm/org/apache/storm/task/TopologyContext.java
+++ b/storm-client/src/jvm/org/apache/storm/task/TopologyContext.java
@@ -36,7 +36,7 @@ import org.apache.storm.metric.api.IReducer;
 import org.apache.storm.metric.api.ReducedMetric;
 import org.apache.storm.metrics2.StormMetricRegistry;
 import org.apache.storm.shade.net.minidev.json.JSONValue;
-import org.apache.storm.shade.org.apache.commons.lang.NotImplementedException;
+import org.apache.storm.shade.org.apache.commons.lang3.NotImplementedException;
 import org.apache.storm.state.ISubscribedState;
 import org.apache.storm.tuple.Fields;
 import org.apache.storm.utils.Utils;
diff --git 
a/storm-client/src/jvm/org/apache/storm/topology/ConfigurableTopology.java 
b/storm-client/src/jvm/org/apache/storm/topology/ConfigurableTopology.java
index b3f52a0be..cf25a035f 100644
--- a/storm-client/src/jvm/org/apache/storm/topology/ConfigurableTopology.java
+++ b/storm-client/src/jvm/org/apache/storm/topology/ConfigurableTopology.java
@@ -30,7 +30,7 @@ import java.util.List;
 import java.util.Map;
 import org.apache.storm.Config;
 import org.apache.storm.StormSubmitter;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.shade.org.yaml.snakeyaml.LoaderOptions;
 import org.apache.storm.shade.org.yaml.snakeyaml.Yaml;
 import org.apache.storm.shade.org.yaml.snakeyaml.constructor.SafeConstructor;
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/drpc/ReturnResultsReducer.java 
b/storm-client/src/jvm/org/apache/storm/trident/drpc/ReturnResultsReducer.java
index c2dc363cd..520cb487e 100644
--- 
a/storm-client/src/jvm/org/apache/storm/trident/drpc/ReturnResultsReducer.java
+++ 
b/storm-client/src/jvm/org/apache/storm/trident/drpc/ReturnResultsReducer.java
@@ -22,7 +22,7 @@ import org.apache.storm.generated.AuthorizationException;
 import org.apache.storm.generated.DistributedRPCInvocations;
 import org.apache.storm.shade.net.minidev.json.JSONValue;
 import org.apache.storm.shade.net.minidev.json.parser.ParseException;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.storm.thrift.TException;
 import org.apache.storm.thrift.transport.TTransportException;
 import org.apache.storm.trident.drpc.ReturnResultsReducer.ReturnResultsState;
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/operation/impl/ChainedResult.java
 
b/storm-client/src/jvm/org/apache/storm/trident/operation/impl/ChainedResult.java
index aa5e31e88..b5d73e4ed 100644
--- 
a/storm-client/src/jvm/org/apache/storm/trident/operation/impl/ChainedResult.java
+++ 
b/storm-client/src/jvm/org/apache/storm/trident/operation/impl/ChainedResult.java
@@ -12,7 +12,7 @@
 
 package org.apache.storm.trident.operation.impl;
 
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.storm.trident.operation.TridentCollector;
 
 
diff --git a/storm-client/src/jvm/org/apache/storm/trident/planner/Node.java 
b/storm-client/src/jvm/org/apache/storm/trident/planner/Node.java
index 7d4aa7785..076514a83 100644
--- a/storm-client/src/jvm/org/apache/storm/trident/planner/Node.java
+++ b/storm-client/src/jvm/org/apache/storm/trident/planner/Node.java
@@ -15,8 +15,8 @@ package org.apache.storm.trident.planner;
 import java.io.Serializable;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.storm.trident.operation.DefaultResourceDeclarer;
 import org.apache.storm.tuple.Fields;
 
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/state/OpaqueValue.java 
b/storm-client/src/jvm/org/apache/storm/trident/state/OpaqueValue.java
index fa08763d5..fc22b6b30 100644
--- a/storm-client/src/jvm/org/apache/storm/trident/state/OpaqueValue.java
+++ b/storm-client/src/jvm/org/apache/storm/trident/state/OpaqueValue.java
@@ -12,7 +12,7 @@
 
 package org.apache.storm.trident.state;
 
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 
 public class OpaqueValue<T> {
     Long currTxid;
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/state/TransactionalValue.java 
b/storm-client/src/jvm/org/apache/storm/trident/state/TransactionalValue.java
index bd82b26c5..7d1bfb2de 100644
--- 
a/storm-client/src/jvm/org/apache/storm/trident/state/TransactionalValue.java
+++ 
b/storm-client/src/jvm/org/apache/storm/trident/state/TransactionalValue.java
@@ -12,7 +12,7 @@
 
 package org.apache.storm.trident.state;
 
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 
 public class TransactionalValue<T> {
     T val;
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/topology/TridentBoltExecutor.java
 
b/storm-client/src/jvm/org/apache/storm/trident/topology/TridentBoltExecutor.java
index 9863c36fc..bacb42d24 100644
--- 
a/storm-client/src/jvm/org/apache/storm/trident/topology/TridentBoltExecutor.java
+++ 
b/storm-client/src/jvm/org/apache/storm/trident/topology/TridentBoltExecutor.java
@@ -25,7 +25,7 @@ import org.apache.storm.coordination.BatchOutputCollector;
 import org.apache.storm.coordination.BatchOutputCollectorImpl;
 import org.apache.storm.generated.GlobalStreamId;
 import org.apache.storm.generated.Grouping;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.storm.task.IOutputCollector;
 import org.apache.storm.task.OutputCollector;
 import org.apache.storm.task.TopologyContext;
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/topology/TridentTopologyBuilder.java
 
b/storm-client/src/jvm/org/apache/storm/trident/topology/TridentTopologyBuilder.java
index 843755eb8..6373effb8 100644
--- 
a/storm-client/src/jvm/org/apache/storm/trident/topology/TridentTopologyBuilder.java
+++ 
b/storm-client/src/jvm/org/apache/storm/trident/topology/TridentTopologyBuilder.java
@@ -25,8 +25,8 @@ import org.apache.storm.generated.SharedMemory;
 import org.apache.storm.generated.StormTopology;
 import org.apache.storm.grouping.CustomStreamGrouping;
 import org.apache.storm.grouping.PartialKeyGrouping;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.storm.topology.BaseConfigurationDeclarer;
 import org.apache.storm.topology.BoltDeclarer;
 import org.apache.storm.topology.IRichSpout;
diff --git a/storm-client/src/jvm/org/apache/storm/trident/tuple/ComboList.java 
b/storm-client/src/jvm/org/apache/storm/trident/tuple/ComboList.java
index a10dcdeb5..2e84f6f28 100644
--- a/storm-client/src/jvm/org/apache/storm/trident/tuple/ComboList.java
+++ b/storm-client/src/jvm/org/apache/storm/trident/tuple/ComboList.java
@@ -15,7 +15,7 @@ package org.apache.storm.trident.tuple;
 import java.io.Serializable;
 import java.util.AbstractList;
 import java.util.List;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 
 public class ComboList extends AbstractList<Object> {
     Pointer[] index;
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/tuple/ValuePointer.java 
b/storm-client/src/jvm/org/apache/storm/trident/tuple/ValuePointer.java
index 1ff1b1681..c67e2ade3 100644
--- a/storm-client/src/jvm/org/apache/storm/trident/tuple/ValuePointer.java
+++ b/storm-client/src/jvm/org/apache/storm/trident/tuple/ValuePointer.java
@@ -14,7 +14,7 @@ package org.apache.storm.trident.tuple;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.storm.tuple.Fields;
 
 public class ValuePointer {
diff --git 
a/storm-client/src/jvm/org/apache/storm/trident/windowing/WindowsStateUpdater.java
 
b/storm-client/src/jvm/org/apache/storm/trident/windowing/WindowsStateUpdater.java
index 8d81027d1..d8a77eb54 100644
--- 
a/storm-client/src/jvm/org/apache/storm/trident/windowing/WindowsStateUpdater.java
+++ 
b/storm-client/src/jvm/org/apache/storm/trident/windowing/WindowsStateUpdater.java
@@ -15,7 +15,6 @@ package org.apache.storm.trident.windowing;
 import java.util.List;
 import java.util.Map;
 import org.apache.storm.shade.com.google.common.collect.Lists;
-import org.apache.storm.shade.org.apache.commons.lang.IllegalClassException;
 import org.apache.storm.topology.FailedException;
 import org.apache.storm.trident.operation.TridentCollector;
 import org.apache.storm.trident.operation.TridentOperationContext;
@@ -46,7 +45,7 @@ public class WindowsStateUpdater implements 
StateUpdater<WindowsState> {
             try {
                 Object fieldValue = 
tuple.getValueByField(WindowTridentProcessor.TRIGGER_FIELD_NAME);
                 if (!(fieldValue instanceof 
WindowTridentProcessor.TriggerInfo)) {
-                    throw new 
IllegalClassException(WindowTridentProcessor.TriggerInfo.class, 
fieldValue.getClass());
+                    throw new ClassCastException("Expected 
WindowTridentProcessor.TriggerInfo but found " + fieldValue.getClass());
                 }
                 WindowTridentProcessor.TriggerInfo triggerInfo = 
(WindowTridentProcessor.TriggerInfo) fieldValue;
                 String triggerCompletedKey =
diff --git a/storm-client/src/jvm/org/apache/storm/utils/CuratorUtils.java 
b/storm-client/src/jvm/org/apache/storm/utils/CuratorUtils.java
index 867ddf85b..d5e6f3f3e 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/CuratorUtils.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/CuratorUtils.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 import javax.naming.ConfigurationException;
 import org.apache.storm.Config;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.shade.org.apache.curator.framework.CuratorFramework;
 import 
org.apache.storm.shade.org.apache.curator.framework.CuratorFrameworkFactory;
 import org.apache.storm.shade.org.apache.curator.framework.api.ACLProvider;
diff --git a/storm-client/src/jvm/org/apache/storm/utils/Utils.java 
b/storm-client/src/jvm/org/apache/storm/utils/Utils.java
index e0b7fbea4..b639863f8 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/Utils.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/Utils.java
@@ -97,7 +97,7 @@ import org.apache.storm.shade.net.minidev.json.JSONValue;
 import org.apache.storm.shade.net.minidev.json.parser.ParseException;
 import org.apache.storm.shade.org.apache.commons.io.FileUtils;
 import 
org.apache.storm.shade.org.apache.commons.io.input.ClassLoaderObjectInputStream;
-import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.StringUtils;
 import org.apache.storm.shade.org.apache.zookeeper.ZooDefs;
 import org.apache.storm.shade.org.apache.zookeeper.data.ACL;
 import org.apache.storm.shade.org.apache.zookeeper.data.Id;
diff --git a/storm-core/pom.xml b/storm-core/pom.xml
index 6d2301414..dbd3db4cb 100644
--- a/storm-core/pom.xml
+++ b/storm-core/pom.xml
@@ -96,8 +96,8 @@
             <artifactId>commons-io</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
             <groupId>net.minidev</groupId>
diff --git a/storm-core/src/jvm/org/apache/storm/command/Blobstore.java 
b/storm-core/src/jvm/org/apache/storm/command/Blobstore.java
index 186e46d1e..d2bbb7ab5 100644
--- a/storm-core/src/jvm/org/apache/storm/command/Blobstore.java
+++ b/storm-core/src/jvm/org/apache/storm/command/Blobstore.java
@@ -26,7 +26,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.blobstore.AtomicOutputStream;
 import org.apache.storm.blobstore.BlobStore;
 import org.apache.storm.blobstore.BlobStoreAclHandler;
diff --git a/storm-core/src/jvm/org/apache/storm/command/ShellSubmission.java 
b/storm-core/src/jvm/org/apache/storm/command/ShellSubmission.java
index 33158b876..fcc29fca0 100644
--- a/storm-core/src/jvm/org/apache/storm/command/ShellSubmission.java
+++ b/storm-core/src/jvm/org/apache/storm/command/ShellSubmission.java
@@ -15,7 +15,7 @@ package org.apache.storm.command;
 import java.util.Arrays;
 import java.util.Map;
 
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.storm.StormSubmitter;
 import org.apache.storm.generated.NimbusSummary;
 import org.apache.storm.utils.ConfigUtils;
diff --git a/storm-core/test/jvm/org/apache/storm/SubmitterTest.java 
b/storm-core/test/jvm/org/apache/storm/SubmitterTest.java
index 9fe317d07..64b50383d 100644
--- a/storm-core/test/jvm/org/apache/storm/SubmitterTest.java
+++ b/storm-core/test/jvm/org/apache/storm/SubmitterTest.java
@@ -16,7 +16,7 @@
 
 package org.apache.storm;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 import java.util.HashMap;
diff --git 
a/storm-core/test/jvm/org/apache/storm/messaging/netty/NettyTest.java 
b/storm-core/test/jvm/org/apache/storm/messaging/netty/NettyTest.java
index 6828059ec..8ec1894a8 100644
--- a/storm-core/test/jvm/org/apache/storm/messaging/netty/NettyTest.java
+++ b/storm-core/test/jvm/org/apache/storm/messaging/netty/NettyTest.java
@@ -34,7 +34,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Consumer;
 import java.util.stream.IntStream;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.Config;
 import org.apache.storm.Testing;
 import org.apache.storm.daemon.worker.WorkerState;
diff --git a/storm-server/pom.xml b/storm-server/pom.xml
index d04b292c0..e25d3d034 100644
--- a/storm-server/pom.xml
+++ b/storm-server/pom.xml
@@ -115,8 +115,8 @@
             <artifactId>commons-io</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/cgroup/CgroupManager.java
 
b/storm-server/src/main/java/org/apache/storm/container/cgroup/CgroupManager.java
index 916359ed0..d50c8d857 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/cgroup/CgroupManager.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/cgroup/CgroupManager.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.commons.lang.SystemUtils;
+import org.apache.commons.lang3.SystemUtils;
 import org.apache.storm.Config;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.container.DefaultResourceIsolationManager;
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerCommand.java
index ebfe895da..f366629d4 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerCommand.java
@@ -15,7 +15,7 @@ package org.apache.storm.container.docker;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public abstract class DockerCommand  {
     private final String command;
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerExecCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerExecCommand.java
index dfe3686ac..9eaa2a48e 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerExecCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerExecCommand.java
@@ -14,7 +14,7 @@ package org.apache.storm.container.docker;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Encapsulates the docker exec command and its command line arguments.
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerInspectCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerInspectCommand.java
index d4d4b347b..7dcd2c016 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerInspectCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerInspectCommand.java
@@ -14,7 +14,7 @@ package org.apache.storm.container.docker;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Encapsulates the docker inspect command and its command line arguments.
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerManager.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerManager.java
index 2140a09d4..988e9512d 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerManager.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerManager.java
@@ -22,7 +22,7 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.Config;
 import org.apache.storm.container.cgroup.core.MemoryCore;
 import org.apache.storm.container.oci.OciContainerManager;
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerPsCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerPsCommand.java
index 6288f2ad7..289721822 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerPsCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerPsCommand.java
@@ -20,7 +20,7 @@ package org.apache.storm.container.docker;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class DockerPsCommand extends DockerCommand {
     private static final String PS_COMMAND = "ps";
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerRmCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerRmCommand.java
index 60d3f1c2d..8e5fe416d 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerRmCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerRmCommand.java
@@ -14,7 +14,7 @@ package org.apache.storm.container.docker;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Encapsulates the docker rm command and its command line arguments.
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerRunCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerRunCommand.java
index 0c5a08752..bbe1d1fe6 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerRunCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerRunCommand.java
@@ -17,7 +17,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerStopCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerStopCommand.java
index dcd59a476..09a7f95df 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerStopCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerStopCommand.java
@@ -14,7 +14,7 @@ package org.apache.storm.container.docker;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Encapsulates the docker stop command and its command line arguments.
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerWaitCommand.java
 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerWaitCommand.java
index da8b69193..62b0a9b99 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/docker/DockerWaitCommand.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/docker/DockerWaitCommand.java
@@ -14,7 +14,7 @@ package org.apache.storm.container.docker;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Encapsulates the docker wait command and its command line arguments.
diff --git 
a/storm-server/src/main/java/org/apache/storm/container/oci/RuncLibContainerManager.java
 
b/storm-server/src/main/java/org/apache/storm/container/oci/RuncLibContainerManager.java
index d50a07969..033f75423 100644
--- 
a/storm-server/src/main/java/org/apache/storm/container/oci/RuncLibContainerManager.java
+++ 
b/storm-server/src/main/java/org/apache/storm/container/oci/RuncLibContainerManager.java
@@ -44,7 +44,7 @@ import net.minidev.json.JSONObject;
 import net.minidev.json.parser.JSONParser;
 import net.minidev.json.parser.ParseException;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.StormTimer;
 import org.apache.storm.container.cgroup.CgroupUtils;
diff --git 
a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
 
b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
index 0c2019339..7583a96db 100644
--- 
a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
+++ 
b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
@@ -34,7 +34,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.NavigableMap;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.Config;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.ServerConstants;
diff --git 
a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/Container.java 
b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/Container.java
index 2b55dd188..8b1275b37 100644
--- 
a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/Container.java
+++ 
b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/Container.java
@@ -33,7 +33,7 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.Config;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.container.ResourceIsolationInterface;
diff --git 
a/storm-server/src/main/java/org/apache/storm/scheduler/IsolationScheduler.java 
b/storm-server/src/main/java/org/apache/storm/scheduler/IsolationScheduler.java
index 87d2ae799..3a4fa0de3 100644
--- 
a/storm-server/src/main/java/org/apache/storm/scheduler/IsolationScheduler.java
+++ 
b/storm-server/src/main/java/org/apache/storm/scheduler/IsolationScheduler.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.metric.StormMetricsRegistry;
 import org.apache.storm.utils.Utils;
diff --git 
a/storm-server/src/main/java/org/apache/storm/security/auth/ServerAuthUtils.java
 
b/storm-server/src/main/java/org/apache/storm/security/auth/ServerAuthUtils.java
index 31c9f3c97..269f92ea3 100644
--- 
a/storm-server/src/main/java/org/apache/storm/security/auth/ServerAuthUtils.java
+++ 
b/storm-server/src/main/java/org/apache/storm/security/auth/ServerAuthUtils.java
@@ -19,7 +19,7 @@
 package org.apache.storm.security.auth;
 
 import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.utils.ReflectionUtils;
 
diff --git a/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java 
b/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
index 0201b2128..1c3319d54 100644
--- a/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
+++ b/storm-server/src/main/java/org/apache/storm/utils/ServerUtils.java
@@ -65,7 +65,7 @@ import org.apache.commons.exec.CommandLine;
 import org.apache.commons.exec.DefaultExecutor;
 import org.apache.commons.exec.ExecuteException;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.Config;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.blobstore.BlobStore;
diff --git 
a/storm-server/src/main/java/org/apache/storm/zookeeper/Zookeeper.java 
b/storm-server/src/main/java/org/apache/storm/zookeeper/Zookeeper.java
index 3fd09cf05..a5a8ecac8 100644
--- a/storm-server/src/main/java/org/apache/storm/zookeeper/Zookeeper.java
+++ b/storm-server/src/main/java/org/apache/storm/zookeeper/Zookeeper.java
@@ -23,7 +23,7 @@ import java.net.BindException;
 import java.net.InetSocketAddress;
 import java.util.List;
 import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.blobstore.BlobStore;
 import org.apache.storm.cluster.IStormClusterState;
 import org.apache.storm.daemon.nimbus.TopoCache;
diff --git 
a/storm-server/src/test/java/org/apache/storm/utils/ServerUtilsTest.java 
b/storm-server/src/test/java/org/apache/storm/utils/ServerUtilsTest.java
index a5908a6a2..bf4189dc7 100644
--- a/storm-server/src/test/java/org/apache/storm/utils/ServerUtilsTest.java
+++ b/storm-server/src/test/java/org/apache/storm/utils/ServerUtilsTest.java
@@ -42,10 +42,10 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.zip.ZipFile;
-import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.storm.shade.org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.storm.shade.org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.storm.testing.TmpPath;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
diff --git a/storm-shaded-deps/pom.xml b/storm-shaded-deps/pom.xml
index b840fb262..db7f82f46 100644
--- a/storm-shaded-deps/pom.xml
+++ b/storm-shaded-deps/pom.xml
@@ -108,8 +108,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -221,7 +221,7 @@
                             <include>com.google.guava:*</include>
                             <include>commons-codec:commons-codec</include>
                             <include>commons-io:commons-io</include>
-                            <include>commons-lang:commons-lang</include>
+                            <include>org.apache.commons:commons-lang3</include>
                             
<include>org.apache.commons:commons-collections4</include>
                             <!-- Pulled in by json-smart -->
                             <include>net.minidev:*</include>
@@ -268,8 +268,8 @@
                             
<shadedPattern>org.apache.storm.shade.org.apache.commons.io</shadedPattern>
                         </relocation>
                         <relocation>
-                            <pattern>org.apache.commons.lang</pattern>
-                            
<shadedPattern>org.apache.storm.shade.org.apache.commons.lang</shadedPattern>
+                            <pattern>org.apache.commons.lang3</pattern>
+                            
<shadedPattern>org.apache.storm.shade.org.apache.commons.lang3</shadedPattern>
                         </relocation>
                         <relocation>
                             <pattern>org.apache.commons.collections4</pattern>
diff --git a/storm-submit-tools/pom.xml b/storm-submit-tools/pom.xml
index 748d056cb..3c11812c5 100644
--- a/storm-submit-tools/pom.xml
+++ b/storm-submit-tools/pom.xml
@@ -26,8 +26,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
         </dependency>
 
         <dependency>
diff --git 
a/storm-submit-tools/src/main/java/org/apache/storm/submit/command/DependencyResolverMain.java
 
b/storm-submit-tools/src/main/java/org/apache/storm/submit/command/DependencyResolverMain.java
index 1fc530c71..cd5a4a472 100644
--- 
a/storm-submit-tools/src/main/java/org/apache/storm/submit/command/DependencyResolverMain.java
+++ 
b/storm-submit-tools/src/main/java/org/apache/storm/submit/command/DependencyResolverMain.java
@@ -41,7 +41,7 @@ import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.DefaultParser;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.submit.dependency.AetherUtils;
 import org.apache.storm.submit.dependency.DependencyResolver;
 import org.eclipse.aether.artifact.Artifact;
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
index 518be3ab9..0a098f278 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java
@@ -26,7 +26,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.daemon.logviewer.utils.DirectoryCleaner;
 import org.apache.storm.daemon.logviewer.utils.ExceptionMeterNames;
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandler.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandler.java
index bed79b037..3ffdf75f4 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandler.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogPageHandler.java
@@ -35,7 +35,7 @@ import static j2html.TagCreator.text;
 import static j2html.TagCreator.title;
 import static java.util.stream.Collectors.toCollection;
 import static java.util.stream.Collectors.toList;
-import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
+import static org.apache.commons.text.StringEscapeUtils.escapeHtml4;
 
 import com.codahale.metrics.Meter;
 import j2html.attributes.Attr;
@@ -65,7 +65,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.zip.GZIPInputStream;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.daemon.logviewer.LogviewerConstant;
 import org.apache.storm.daemon.logviewer.utils.DirectoryCleaner;
 import org.apache.storm.daemon.logviewer.utils.ExceptionMeterNames;
@@ -239,8 +239,8 @@ public class LogviewerLogPageHandler {
                     start = Long.valueOf(fileLength - length).intValue();
                 }
 
-                String logString = isTxtFile(fileName) ? 
escapeHtml(pageFile(absFile.toString(), isZipFile, fileLength, start, length)) :
-                    escapeHtml("This is a binary file and cannot display! You 
may download the full file.");
+                String logString = isTxtFile(fileName) ? 
escapeHtml4(pageFile(absFile.toString(), isZipFile, fileLength, start, length)) 
:
+                    escapeHtml4("This is a binary file and cannot display! You 
may download the full file.");
 
                 List<DomContent> bodyContents = new ArrayList<>();
                 if (StringUtils.isNotEmpty(grep)) {
@@ -317,8 +317,8 @@ public class LogviewerLogPageHandler {
                 start = Long.valueOf(fileLength - length).intValue();
             }
 
-            String logString = isTxtFile(fileName) ? 
escapeHtml(pageFile(file.toString(), isZipFile, fileLength, start, length)) :
-                    escapeHtml("This is a binary file and cannot display! You 
may download the full file.");
+            String logString = isTxtFile(fileName) ? 
escapeHtml4(pageFile(file.toString(), isZipFile, fileLength, start, length)) :
+                    escapeHtml4("This is a binary file and cannot display! You 
may download the full file.");
 
             List<DomContent> bodyContents = new ArrayList<>();
             if (StringUtils.isNotEmpty(grep)) {
@@ -371,12 +371,12 @@ public class LogviewerLogPageHandler {
         }
 
         finalBodyContents.add(div(p("Note: the drop-list shows at most 1024 
files for each worker directory.")).withClass("ui-note"));
-        finalBodyContents.add(h3(escapeHtml(fileName)));
+        finalBodyContents.add(h3(escapeHtml4(fileName)));
         finalBodyContents.addAll(bodyContents);
 
         return html(
                 head(
-                        title(escapeHtml(fileName) + " - Storm Log Viewer"),
+                        title(escapeHtml4(fileName) + " - Storm Log Viewer"),
                         
link().withRel("stylesheet").withHref("/css/bootstrap-3.3.1.min.css"),
                         
link().withRel("stylesheet").withHref("/css/jquery.dataTables.1.10.4.min.css"),
                         link().withRel("stylesheet").withHref("/css/style.css")
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandler.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandler.java
index ed8098b20..3c884b08e 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandler.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandler.java
@@ -58,8 +58,8 @@ import java.util.zip.GZIPInputStream;
 
 import net.minidev.json.JSONAware;
 
-import org.apache.commons.lang.BooleanUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.storm.DaemonConfig;
 import org.apache.storm.daemon.common.JsonResponseBuilder;
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerProfileHandler.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerProfileHandler.java
index 700146781..566d5dcad 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerProfileHandler.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/handler/LogviewerProfileHandler.java
@@ -39,7 +39,7 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.daemon.logviewer.utils.DirectoryCleaner;
 import org.apache.storm.daemon.logviewer.utils.ExceptionMeterNames;
 import org.apache.storm.daemon.logviewer.utils.LogviewerResponseBuilder;
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/LogviewerResponseBuilder.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/LogviewerResponseBuilder.java
index 881f75af1..b93ba2c0b 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/LogviewerResponseBuilder.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/LogviewerResponseBuilder.java
@@ -20,7 +20,7 @@ package org.apache.storm.daemon.logviewer.utils;
 
 import static j2html.TagCreator.body;
 import static j2html.TagCreator.h2;
-import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
+import static org.apache.commons.text.StringEscapeUtils.escapeHtml4;
 
 import com.codahale.metrics.Meter;
 import com.google.common.io.ByteStreams;
@@ -144,7 +144,7 @@ public class LogviewerResponseBuilder {
     }
 
     private static String buildUnauthorizedUserHtml(String user) {
-        String content = "User '" + escapeHtml(user) + "' is not authorized.";
+        String content = "User '" + escapeHtml4(user) + "' is not authorized.";
         return body(h2(content)).render();
     }
 
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/ResourceAuthorizer.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/ResourceAuthorizer.java
index d62e721b4..e88431cc9 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/ResourceAuthorizer.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/ResourceAuthorizer.java
@@ -30,7 +30,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.Validate;
 import org.apache.storm.Config;
 import org.apache.storm.DaemonConfig;
diff --git 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/webapp/LogviewerResource.java
 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/webapp/LogviewerResource.java
index 14f42782d..74564436c 100644
--- 
a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/webapp/LogviewerResource.java
+++ 
b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/webapp/LogviewerResource.java
@@ -31,8 +31,8 @@ import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.util.Map;
 
-import org.apache.commons.lang.BooleanUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.storm.daemon.common.JsonResponseBuilder;
 import org.apache.storm.daemon.logviewer.handler.LogviewerLogDownloadHandler;
 import org.apache.storm.daemon.logviewer.handler.LogviewerLogPageHandler;

Reply via email to