diff --git a/DEPENDENCY-LICENSES b/DEPENDENCY-LICENSES
index d0716d19cf3..0a6891843a7 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 f63ad28327c..8b23d6ba0ac 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 01964ea5966..1d0470c3eb6 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.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 42082b7844d..91b49b6c34a 100644
--- a/external/storm-kafka-client/pom.xml
+++ b/external/storm-kafka-client/pom.xml
@@ -145,8 +145,8 @@
curator-test
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
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 d66d936a233..370af537bd6 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.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 cc2efc475a5..d4e97897882 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 @@
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 ac288024d07..8a2f54303e1 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.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 c028af0174b..d0e7482323d 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.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 da37653663b..e20eb68eed5 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.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 de14a300d78..433c5cbb95d 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 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 535e4016ae1..c2c562544bb 100644
--- a/external/storm-kafka-migration/pom.xml
+++ b/external/storm-kafka-migration/pom.xml
@@ -72,8 +72,8 @@
log4j-slf4j2-impl
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
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 25a16dcf43c..f27ecef03be 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.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 ec1e3e94239..2aab8349209 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.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 6e062539a46..84830037ad9 100644
--- a/integration-test/pom.xml
+++ b/integration-test/pom.xml
@@ -70,8 +70,8 @@
guava
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
commons-io
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 75f0c9bfa50..61ba9d93045 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 @@
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 b6ba4626983..84dd63e07ee 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 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>() {}.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 e760c7aa952..8f9feeb64db 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 887ff14e624..fb99e99fced 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.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 static void sleepSec(int sec) {
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 static void sleepMilliSec(int milliSec) {
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 ed2f9ce4db2..cb9018cd41c 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 68de4faddb1..582e1593c27 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 473e0237c09..c3090c1a993 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 f807c55ff03..33f9dbbfc7a 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 @@
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 void killOrThrow(String topologyName) throws Exception {
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 ba4de1c7be4..900509342dd 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.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 @@ private void downloadLogUrl(URL downloadUrl, String urlContent) {
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 e17615bba9d..6aa105ab621 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,7 +84,6 @@
1.12.4
1.28.0
2.21.0
- 2.6
3.20.0
1.6.0
4.5.0
@@ -598,11 +597,6 @@
commons-collections4
${commons-collections.version}
-
- commons-lang
- commons-lang
- ${commons-lang.version}
-
org.apache.commons
commons-text
diff --git a/storm-client/src/jvm/org/apache/storm/StormSubmitter.java b/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
index a2692404c48..849fa1a0973 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.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 df6ca548c07..a61fb662405 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.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 742e2f91560..3044b37ca9e 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.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 13d793c2113..b3cfd90d4d6 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.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 db32faa2d0d..9dee5e03dbf 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.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 e1918708a16..da3548bef75 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.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 f4281211c95..988e7bd7218 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.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 a83e6ca28f3..5211e55700b 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 @@
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 745e3c5a739..ca53b33a9c3 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 @@
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 97090b72737..0a4da72f23b 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.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 50f6a7b1e37..4ae9efa3fc4 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.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 a8c40883f1b..980ac4478fe 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.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 ca7355fedfa..ab028bbef85 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.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 b3f52a0beed..cf25a035f93 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.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 c2dc363cd32..520cb487ed1 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.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 aa5e31e88fa..b5d73e4ed97 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 7d4aa778559..076514a835f 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 @@
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 fa08763d510..fc22b6b30d3 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 {
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 bd82b26c51d..7d1bfb2de4a 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 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 9863c36fc50..bacb42d2451 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.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 843755eb844..6373effb895 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.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 a10dcdeb50d..2e84f6f28a7 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 @@
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
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
net.minidev
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 186e46d1ea7..d2bbb7ab51b 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.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 33158b876a2..fcc29fca065 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 @@
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 9fe317d07b0..64b50383d0e 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 6828059ec7c..8ec1894a8f7 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.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 d04b292c0e5..e25d3d03487 100644
--- a/storm-server/pom.xml
+++ b/storm-server/pom.xml
@@ -115,8 +115,8 @@
commons-io
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
org.apache.commons
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 916359ed073..d50c8d85725 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.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 ebfe895da97..f366629d401 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 @@
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 dfe3686ac92..9eaa2a48e93 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 @@
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 d4d4b347b77..7dcd2c016de 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 @@
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 2140a09d46b..988e9512dbf 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.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 6288f2ad7f5..289721822ef 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 @@
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 60d3f1c2d34..8e5fe416d60 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 @@
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 0c5a0875245..bbe1d1fe612 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.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 dcd59a4760d..09a7f95dfae 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 @@
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 da8b691936f..62b0a9b998c 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 @@
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 d50a07969e4..033f7542376 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.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 0c2019339a7..7583a96db79 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.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 2b55dd18867..8b1275b3729 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.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 87d2ae79916..3a4fa0de38d 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.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 31c9f3c97f9..269f92ea398 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 0201b2128b9..1c3319d5419 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.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 3fd09cf0532..a5a8ecac8c4 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.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 a5908a6a20c..bf4189dc75e 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.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 b840fb26236..db7f82f46dd 100644
--- a/storm-shaded-deps/pom.xml
+++ b/storm-shaded-deps/pom.xml
@@ -108,8 +108,8 @@
true
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
true
@@ -221,7 +221,7 @@
com.google.guava:*
commons-codec:commons-codec
commons-io:commons-io
- commons-lang:commons-lang
+ org.apache.commons:commons-lang3
org.apache.commons:commons-collections4
net.minidev:*
@@ -268,8 +268,8 @@
org.apache.storm.shade.org.apache.commons.io
- org.apache.commons.lang
- org.apache.storm.shade.org.apache.commons.lang
+ org.apache.commons.lang3
+ org.apache.storm.shade.org.apache.commons.lang3
org.apache.commons.collections4
diff --git a/storm-submit-tools/pom.xml b/storm-submit-tools/pom.xml
index 748d056cb39..3c11812c53b 100644
--- a/storm-submit-tools/pom.xml
+++ b/storm-submit-tools/pom.xml
@@ -26,8 +26,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
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 1fc530c7178..cd5a4a47207 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.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 518be3ab93f..0a098f27849 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.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 bed79b03743..3ffdf75f44b 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.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.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 Response logPage(String fileName, Integer start, Integer length, String g
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 bodyContents = new ArrayList<>();
if (StringUtils.isNotEmpty(grep)) {
@@ -317,8 +317,8 @@ public Response daemonLogPage(String fileName, Integer start, Integer length, St
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 bodyContents = new ArrayList<>();
if (StringUtils.isNotEmpty(grep)) {
@@ -371,12 +371,12 @@ private DomContent logTemplate(List bodyContents, String fileName, S
}
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 ed8098b2073..3c884b08e76 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 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 70014678118..566d5dcaded 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.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 881f75af11d..b93ba2c0bb3 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 @@
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 @@ private static Map getHeadersForSuccessResponse(String origin) {
}
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 d62e721b43a..e88431cc9d3 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.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 14f42782d52..74564436c9d 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 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;