You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2023/05/06 06:59:04 UTC
[kylin] 03/38: KYLIN-5522 fix local debug mode
This is an automated email from the ASF dual-hosted git repository.
xxyu pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 2cf578b0fa0c93292597e291f11ccead7c217762
Author: Junqing Cai <ca...@163.com>
AuthorDate: Wed Feb 8 17:56:27 2023 +0800
KYLIN-5522 fix local debug mode
* use commons-lang instead of commons-lang3
* fix local debug mode
---
.../kylin/rest/controller/NBasicController.java | 2 +-
.../apache/kylin/rest/KylinPrepareEnvListener.java | 2 +-
.../kylin/rest/aspect/InsensitiveNameAspect.java | 2 +-
.../apache/kylin/rest/broadcaster/Broadcaster.java | 2 +-
.../rest/config/initialize/AclTCRListener.java | 2 +-
.../rest/config/initialize/CacheCleanListener.java | 2 +-
.../rest/config/initialize/MetricsRegistry.java | 2 +-
.../initialize/TableSchemaChangeListener.java | 2 +-
.../ResourceGroupEntityValidator.java | 2 +-
.../ResourceGroupKylinInstanceValidator.java | 2 +-
.../ResourceGroupMappingInfoValidator.java | 2 +-
.../interceptor/RepeatableRequestBodyFilter.java | 2 +-
.../interceptor/ResourceGroupCheckerFilter.java | 2 +-
.../apache/kylin/rest/monitor/MonitorReporter.java | 2 +-
.../org/apache/kylin/rest/request/UserRequest.java | 2 +-
.../apache/kylin/rest/service/AccessService.java | 2 +-
.../kylin/rest/service/AsyncTaskService.java | 2 +-
.../apache/kylin/rest/service/BasicService.java | 2 +-
.../apache/kylin/rest/service/LdapUserService.java | 2 +-
.../rest/service/MockQuerySmartSupporter.java} | 31 ++++++----------------
.../kylin/rest/service/OpenUserGroupService.java | 2 +-
.../apache/kylin/rest/service/ProjectService.java | 2 +-
.../apache/kylin/rest/service/SystemService.java | 2 +-
.../apache/kylin/rest/service/UserAclService.java | 2 +-
.../java/org/apache/kylin/tool/util/ToolUtil.java | 2 +-
.../java/org/apache/kylin/common/KylinConfig.java | 2 +-
.../org/apache/kylin/common/KylinConfigBase.java | 2 +-
.../java/org/apache/kylin/common/KylinVersion.java | 2 +-
.../java/org/apache/kylin/common/StorageURL.java | 2 +-
.../apache/kylin/common/debug/BackdoorToggles.java | 2 +-
.../kylin/common/persistence/StringEntity.java | 2 +-
.../persistence/metadata/JdbcMetadataStore.java | 2 +-
.../transaction/AuditLogReplayWorker.java | 2 +-
.../kylin/common/util/DaemonThreadFactory.java | 2 +-
.../org/apache/kylin/common/util/DateFormat.java | 2 +-
.../org/apache/kylin/common/util/EncryptUtil.java | 2 +-
.../org/apache/kylin/common/util/HadoopUtil.java | 2 +-
.../kylin/common/util/OrderedProperties.java | 2 +-
.../org/apache/kylin/common/util/SSHClient.java | 2 +-
.../java/org/apache/kylin/common/util/Unsafe.java | 2 +-
.../org/apache/kylin/common/util/ZipFileUtils.java | 2 +-
.../org/apache/kylin/rest/util/PagingUtil.java | 2 +-
.../common/util/NLocalFileMetadataTestCase.java | 2 +-
.../apache/kylin/engine/spark/ExecutableUtils.java | 2 +-
.../org/apache/kylin/job/dao/ExecutablePO.java | 2 +-
.../apache/kylin/job/engine/JobEngineConfig.java | 2 +-
.../kylin/job/execution/AbstractExecutable.java | 2 +-
.../job/execution/DefaultExecutableOnModel.java | 2 +-
.../kylin/job/execution/ExecutableParams.java | 2 +-
.../job/execution/NExecutableManagerTest.java | 2 +-
.../job/impl/threadpool/NDefaultSchedulerTest.java | 2 +-
.../apache/kylin/metadata/acl/AclTCRManager.java | 2 +-
.../metadata/cube/cuboid/AggIndexMatcher.java | 2 +-
.../kylin/metadata/cube/cuboid/IndexMatcher.java | 2 +-
.../metadata/cube/cuboid/KECuboidSchedulerV1.java | 2 +-
.../cube/model/NDataLoadingRangeManager.java | 2 +-
.../kylin/metadata/cube/model/NDataSegment.java | 2 +-
.../cube/model/NDataflowCapabilityChecker.java | 2 +-
.../metadata/cube/model/NIndexPlanManager.java | 2 +-
.../cube/storage/ProjectStorageInfoCollector.java | 2 +-
.../kylin/metadata/datatype/BooleanSerializer.java | 2 +-
.../apache/kylin/metadata/datatype/DataType.java | 2 +-
.../apache/kylin/metadata/epoch/EpochManager.java | 2 +-
.../metadata/filter/function/LikeMatchers.java | 2 +-
.../insensitive/ModelInsensitiveRequest.java | 2 +-
.../insensitive/ProjectInsensitiveRequest.java | 2 +-
.../insensitive/UserInsensitiveRequest.java | 2 +-
.../kylin/metadata/model/ComputedColumnDesc.java | 2 +-
.../kylin/metadata/model/JoinedFlatTable.java | 2 +-
.../apache/kylin/metadata/model/MeasureDesc.java | 2 +-
.../metadata/model/ModelJoinRelationTypeEnum.java | 2 +-
.../kylin/metadata/model/NDataModelManager.java | 2 +-
.../metadata/model/NTableMetadataManager.java | 2 +-
.../org/apache/kylin/metadata/model/TblColRef.java | 2 +-
.../metadata/model/alias/ExpressionComparator.java | 2 +-
.../model/schema/AffectedModelContext.java | 2 +-
.../metadata/model/schema/ModelEdgeCollector.java | 2 +-
.../kylin/metadata/model/tool/CalciteParser.java | 2 +-
.../metadata/query/JdbcQueryHistoryStore.java | 2 +-
.../kylin/metadata/realization/SQLDigest.java | 2 +-
.../recommendation/candidate/RawRecItemTable.java | 2 +-
.../recommendation/entity/CCRecItemV2.java | 2 +-
.../metadata/recommendation/ref/OptRecV2.java | 2 +-
.../metadata/sourceusage/SourceUsageManager.java | 2 +-
.../kylin/metadata/streaming/KafkaConfig.java | 2 +-
.../kylin/rest/security/ExternalAclProvider.java | 2 +-
.../apache/kylin/rest/security/UserAclManager.java | 2 +-
.../metadata/epoch/EpochUpdateLockManagerTest.java | 2 +-
.../apache/kylin/common/metrics/MetricsGroup.java | 2 +-
.../common/metrics/MetricsInfluxdbReporter.java | 2 +-
.../kylin/rest/controller/BaseController.java | 2 +-
.../kylin/rest/controller/JobController.java | 2 +-
.../kylin/rest/controller/SegmentController.java | 2 +-
.../open/OpenStreamingJobController.java | 2 +-
.../rest/controller/v2/SegmentControllerV2.java | 2 +-
.../rest/controller/SampleControllerTest.java | 2 +-
.../controller/StreamingJobControllerTest.java | 2 +-
.../controller/open/OpenSampleControllerTest.java | 2 +-
.../open/OpenStreamingJobControllerTest.java | 2 +-
.../kylin/rest/response/ExecutableResponse.java | 2 +-
.../org/apache/kylin/rest/service/JobService.java | 2 +-
.../kylin/rest/service/ModelBuildService.java | 2 +-
.../apache/kylin/rest/service/SnapshotService.java | 2 +-
.../kylin/rest/service/TableSamplingService.java | 2 +-
.../apache/kylin/rest/service/JobServiceTest.java | 2 +-
.../sdk/datasource/adaptor/DefaultAdaptor.java | 2 +-
.../sdk/datasource/framework/JdbcConnector.java | 2 +-
.../datasource/framework/conv/ParamNodeParser.java | 2 +-
.../datasource/framework/conv/SqlConverter.java | 2 +-
.../apache/kylin/rest/service/SparkDDLService.java | 2 +-
.../apache/kylin/rest/service/TableService.java | 2 +-
.../rest/config/initialize/JobSyncListener.java | 2 +-
.../rest/config/initialize/JobSchedulerTest.java | 2 +-
.../java/org/apache/kylin/query/NKapQueryTest.java | 2 +-
.../rest/controller/NProjectControllerTest.java | 2 +-
.../kylin/rest/controller/NModelController.java | 2 +-
.../kylin/rest/controller/NProjectController.java | 2 +-
.../kylin/rest/controller/NTableController.java | 4 +--
.../kylin/rest/controller/NUserController.java | 2 +-
.../rest/controller/NUserGroupController.java | 2 +-
.../rest/controller/v2/NAccessControllerV2.java | 2 +-
.../rest/controller/NTableControllerTest.java | 2 +-
.../kylin/rest/controller/NUserControllerTest.java | 2 +-
.../apache/kylin/rest/model/FuzzyKeySearcher.java | 2 +-
.../response/SynchronizedCommentsResponse.java | 2 +-
.../kylin/rest/service/AbstractModelService.java | 2 +-
.../kylin/rest/service/FusionModelService.java | 2 +-
.../kylin/rest/service/IndexPlanService.java | 2 +-
.../kylin/rest/service/ModelSemanticHelper.java | 2 +-
.../apache/kylin/rest/service/ModelService.java | 4 +--
.../org/apache/kylin/rest/util/ModelUtils.java | 2 +-
.../apache/kylin/rest/service/BaseIndexTest.java | 2 +-
.../kylin/rest/service/FusionModelServiceTest.java | 2 +-
.../kylin/rest/service/ModelServiceTest.java | 4 +--
.../kylin/rest/service/TableServiceTest.java | 2 +-
.../kylin/query/routing/RealizationChooser.java | 2 +-
.../org/apache/kylin/query/schema/OLAPTable.java | 2 +-
.../query/security/AccessDeniedException.java | 2 +-
.../org/apache/kylin/query/security/RowFilter.java | 2 +-
.../apache/kylin/query/util/AsyncQueryUtil.java | 2 +-
.../query/util/ModelViewSqlNodeComparator.java | 2 +-
.../org/apache/kylin/query/util/PushDownUtil.java | 2 +-
.../apache/kylin/query/util/QueryAliasMatcher.java | 2 +-
.../rest/controller/NAsyncQueryController.java | 2 +-
.../kylin/rest/controller/NQueryController.java | 2 +-
.../controller/SparkMetricsControllerTest.java | 2 +-
.../apache/kylin/rest/response/SQLResponseV2.java | 2 +-
.../kylin/rest/service/ModelQueryService.java | 2 +-
.../apache/kylin/rest/service/MonitorService.java | 2 +-
.../kylin/rest/service/QueryHistoryService.java | 2 +-
.../apache/kylin/rest/service/QueryService.java | 2 +-
.../kylin/rest/util/QueryCacheSignatureUtil.java | 2 +-
.../org/apache/kylin/rest/util/QueryUtils.java | 2 +-
.../kylin/query/engine/AsyncQueryApplication.java | 2 +-
.../apache/kylin/query/engine/AsyncQueryJob.java | 2 +-
.../kylin/query/engine/view/ModelViewTest.java | 2 +-
.../kylin/query/schema/KylinSqlValidatorTest.java | 2 +-
.../kap/clickhouse/ClickHouseStorage.java | 2 +-
.../kyligence/kap/clickhouse/job/ClickHouse.java | 15 +++++------
.../kap/clickhouse/job/ClickHouseLoad.java | 2 +-
.../kap/clickhouse/job/ClickhouseLoadFileLoad.java | 2 +-
.../kap/clickhouse/job/HadoopMockUtil.java | 2 +-
.../management/OpenSecondStorageEndpoint.java | 2 +-
.../management/SecondStorageEndpoint.java | 2 +-
.../io/kyligence/kap/secondstorage/ddl/DDL.java | 2 +-
.../kap/secondstorage/ddl/exp/TableIdentifier.java | 2 +-
.../kap/secondstorage/metadata/Manager.java | 2 +-
.../org/apache/kylin/rest/QueryNodeFilter.java | 2 +-
.../apache/kylin/rest/ZookeeperClusterManager.java | 2 +-
.../org/apache/kylin/rest/config/CorsConfig.java | 2 +-
.../rest/discovery/KylinServiceDiscoveryCache.java | 4 +--
.../discovery/KylinServiceDiscoveryClient.java | 2 +-
.../source/hive/BeelineOptionsProcessorTest.java | 2 +-
.../engine/spark/application/SparkApplication.java | 2 +-
.../spark/job/DefaultSparkBuildJobHandler.java | 2 +-
.../spark/job/ExecutableAddCuboidHandler.java | 2 +-
.../kylin/engine/spark/job/NSparkExecutable.java | 2 +-
.../job/SparkCleanupTransactionalTableStep.java | 2 +-
.../kylin/engine/spark/mockup/CsvSource.java | 2 +-
.../kylin/engine/spark/mockup/CsvTableReader.java | 2 +-
.../engine/spark/source/NSparkDataSource.java | 2 +-
.../spark/source/NSparkMetadataExplorer.java | 2 +-
.../spark/stats/analyzer/TableAnalyzerJob.java | 2 +-
.../spark/stats/utils/DateTimeCheckUtils.java | 2 +-
.../spark/utils/HiveTransactionTableHelper.java | 2 +-
.../engine/spark/utils/SparkJobFactoryUtils.java | 2 +-
.../kylin/engine/spark/job/SegmentBuildJob.java | 2 +-
.../kylin/engine/spark/job/SegmentMergeJob.java | 2 +-
.../kylin/engine/spark/job/SnapshotBuildJob.java | 2 +-
.../org/apache/kylin/source/jdbc/JdbcSource.java | 2 +-
.../kylin/engine/spark/job/NSparkCubingUtil.java | 2 +-
.../apache/spark/dict/NGlobalDictHDFSStore.java | 2 +-
.../asyncprofiler/AsyncProfilerToolTest.java | 2 +-
.../kylin/rest/service/StreamingJobService.java | 2 +-
.../org/apache/kylin/kafka/util/KafkaUtils.java | 2 +-
.../streaming/jobs/AbstractSparkJobLauncher.java | 2 +-
.../streaming/manager/StreamingJobManager.java | 2 +-
.../apache/kylin/streaming/rest/RestSupport.java | 2 +-
.../kylin/tool/AbstractInfoExtractorTool.java | 2 +-
.../java/org/apache/kylin/tool/AuditLogTool.java | 2 +-
.../org/apache/kylin/tool/ClickhouseDiagTool.java | 4 +--
.../main/java/org/apache/kylin/tool/ConfTool.java | 2 +-
.../apache/kylin/tool/DumpHadoopSystemProps.java | 2 +-
.../org/apache/kylin/tool/JobDiagInfoTool.java | 2 +-
.../java/org/apache/kylin/tool/KylinLogTool.java | 2 +-
.../org/apache/kylin/tool/daemon/KapGuardian.java | 2 +-
.../apache/kylin/tool/obf/KylinConfObfuscator.java | 2 +-
.../kylin/tool/upgrade/CheckProjectModeCLI.java | 2 +-
.../kylin/tool/upgrade/DeleteFavoriteQueryCLI.java | 2 +-
.../apache/kylin/tool/upgrade/RenameEntity.java | 2 +-
.../kylin/tool/upgrade/RenameUserResourceTool.java | 2 +-
.../apache/kylin/tool/upgrade/UpdateModelCLI.java | 2 +-
.../kylin/tool/upgrade/UpdateProjectCLI.java | 2 +-
.../kylin/tool/upgrade/UpdateSessionTableCLI.java | 2 +-
.../kylin/tool/upgrade/UpdateUserGroupCLI.java | 2 +-
.../kylin/tool/util/HadoopConfExtractor.java | 2 +-
.../org/apache/kylin/tool/util/ServerInfoUtil.java | 2 +-
.../org/apache/kylin/tool/StorageCleanerTest.java | 2 +-
.../kylin/tool/garbage/SnapshotCleanerTest.java | 2 +-
.../apache/kylin/tool/general/CryptToolTest.java | 2 +-
.../tool/upgrade/RenameUserResourceToolTest.java | 2 +-
221 files changed, 239 insertions(+), 255 deletions(-)
diff --git a/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java b/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java
index 914338294a..4115fd488b 100644
--- a/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java
+++ b/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java
@@ -71,7 +71,7 @@ import org.apache.commons.codec.binary.Base64;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java b/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java
index 483acca4b9..5a83565d0c 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java
@@ -22,7 +22,7 @@ import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ClassUtil;
import org.apache.kylin.common.util.TempMetadataBuilder;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/aspect/InsensitiveNameAspect.java b/src/common-service/src/main/java/org/apache/kylin/rest/aspect/InsensitiveNameAspect.java
index d4631a785a..1d05598f3a 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/aspect/InsensitiveNameAspect.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/aspect/InsensitiveNameAspect.java
@@ -20,7 +20,7 @@ package org.apache.kylin.rest.aspect;
import java.util.Objects;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.MetadataConstants;
import org.apache.kylin.metadata.project.ProjectInstance;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/broadcaster/Broadcaster.java b/src/common-service/src/main/java/org/apache/kylin/rest/broadcaster/Broadcaster.java
index 92b9686557..d517a82742 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/broadcaster/Broadcaster.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/broadcaster/Broadcaster.java
@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.common.constant.LogConstant;
import org.apache.kylin.common.logging.SetLogCategory;
import org.apache.kylin.common.persistence.transaction.BroadcastEventReadyNotifier;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/AclTCRListener.java b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/AclTCRListener.java
index 33d93145e8..9a2dc2a6d0 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/AclTCRListener.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/AclTCRListener.java
@@ -21,7 +21,7 @@ package org.apache.kylin.rest.config.initialize;
import java.util.Objects;
import java.util.Optional;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.RawResource;
import org.apache.kylin.common.persistence.transaction.EventListenerRegistry;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/CacheCleanListener.java b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/CacheCleanListener.java
index 175b62970e..23b7aa3a37 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/CacheCleanListener.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/CacheCleanListener.java
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.RawResource;
import org.apache.kylin.common.persistence.ResourceStore;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java
index 987df10e52..2ded66dbab 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java
@@ -32,7 +32,7 @@ import java.util.stream.Stream;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.event.ModelAddEvent;
import org.apache.kylin.common.metrics.MetricsCategory;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/TableSchemaChangeListener.java b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/TableSchemaChangeListener.java
index c0a0ae3950..05469db9fd 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/TableSchemaChangeListener.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/TableSchemaChangeListener.java
@@ -21,7 +21,7 @@ package org.apache.kylin.rest.config.initialize;
import java.util.Objects;
import java.util.Optional;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.RawResource;
import org.apache.kylin.common.persistence.transaction.EventListenerRegistry;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupEntityValidator.java b/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupEntityValidator.java
index 06e791f7ae..9670ccbd44 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupEntityValidator.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupEntityValidator.java
@@ -24,7 +24,7 @@ import static org.apache.kylin.common.exception.code.ErrorCodeServer.RESOURCE_GR
import java.util.HashMap;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.metadata.resourcegroup.ResourceGroupEntity;
import org.apache.kylin.rest.request.resourecegroup.ResourceGroupRequest;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupKylinInstanceValidator.java b/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupKylinInstanceValidator.java
index 794093f478..f9f6f83824 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupKylinInstanceValidator.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupKylinInstanceValidator.java
@@ -25,7 +25,7 @@ import static org.apache.kylin.common.exception.code.ErrorCodeServer.RESOURCE_GR
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.metadata.resourcegroup.KylinInstance;
import org.apache.kylin.metadata.resourcegroup.ResourceGroupEntity;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupMappingInfoValidator.java b/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupMappingInfoValidator.java
index 8dc047e262..f6ccb87c55 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupMappingInfoValidator.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/handler/resourcegroup/ResourceGroupMappingInfoValidator.java
@@ -27,7 +27,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.metadata.project.ProjectInstance;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/RepeatableRequestBodyFilter.java b/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/RepeatableRequestBodyFilter.java
index 1d8db53c62..cc6d778d81 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/RepeatableRequestBodyFilter.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/RepeatableRequestBodyFilter.java
@@ -28,7 +28,7 @@ import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.util.Pair;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/ResourceGroupCheckerFilter.java b/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/ResourceGroupCheckerFilter.java
index 07e7e72587..7b30f0e66a 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/ResourceGroupCheckerFilter.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/interceptor/ResourceGroupCheckerFilter.java
@@ -31,7 +31,7 @@ import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.Message;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/monitor/MonitorReporter.java b/src/common-service/src/main/java/org/apache/kylin/rest/monitor/MonitorReporter.java
index 16bfc47612..eb893e2216 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/monitor/MonitorReporter.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/monitor/MonitorReporter.java
@@ -26,7 +26,7 @@ import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.Singletons;
import org.apache.kylin.common.util.ExecutorServiceUtil;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/request/UserRequest.java b/src/common-service/src/main/java/org/apache/kylin/rest/request/UserRequest.java
index 1ba4546776..a29b6ff8c1 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/request/UserRequest.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/request/UserRequest.java
@@ -26,7 +26,7 @@ import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.ArgsTypeJsonDeserializer;
import org.apache.kylin.metadata.insensitive.UserInsensitiveRequest;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/AccessService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/AccessService.java
index 41230847eb..40ebeb23f3 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/AccessService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/AccessService.java
@@ -63,7 +63,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/AsyncTaskService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/AsyncTaskService.java
index 1b26150623..a343a464c6 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/AsyncTaskService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/AsyncTaskService.java
@@ -32,7 +32,7 @@ import java.util.stream.Collectors;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.metrics.MetricsCategory;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/BasicService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/BasicService.java
index cfbf3354e9..aa245ac9ee 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/BasicService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/BasicService.java
@@ -28,7 +28,7 @@ import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.transaction.BroadcastEventReadyNotifier;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/LdapUserService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/LdapUserService.java
index 89fdae3ac9..5aac3f2f17 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/LdapUserService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/LdapUserService.java
@@ -36,7 +36,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.naming.directory.SearchControls;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.msg.MsgPicker;
import org.apache.kylin.common.util.CaseInsensitiveStringMap;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/MockQuerySmartSupporter.java
similarity index 55%
copy from src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java
copy to src/common-service/src/main/java/org/apache/kylin/rest/service/MockQuerySmartSupporter.java
index 5c4b0444fb..4ec15c5557 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/MockQuerySmartSupporter.java
@@ -15,32 +15,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.kylin.common.util;
+package org.apache.kylin.rest.service;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
+import java.util.List;
-import org.apache.commons.lang.StringUtils;
-
-/**
- */
-public class DaemonThreadFactory implements ThreadFactory {
- private String poolName = null;
-
- public DaemonThreadFactory() {
- }
-
- public DaemonThreadFactory(String poolName) {
- this.poolName = poolName;
- }
+import org.apache.kylin.metadata.query.QueryHistory;
+import org.springframework.stereotype.Component;
+@Component
+public class MockQuerySmartSupporter implements QuerySmartSupporter {
@Override
- public Thread newThread(Runnable r) {
- Thread t = Executors.defaultThreadFactory().newThread(r);
- if (StringUtils.isNotBlank(poolName)) {
- t.setName(poolName.concat("-") + t.getId());
- }
- t.setDaemon(true);
- return t;
+ public void onMatchQueryHistory(String project, List<QueryHistory> queries, boolean manual) {
+ //do nothing
}
}
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/OpenUserGroupService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/OpenUserGroupService.java
index d26e91e85d..55c92daad6 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/OpenUserGroupService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/OpenUserGroupService.java
@@ -23,7 +23,7 @@ import java.util.Locale;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.annotation.ThirdPartyDependencies;
import org.apache.kylin.common.msg.MsgPicker;
import org.apache.kylin.metadata.user.ManagedUser;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/ProjectService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/ProjectService.java
index 1af9955759..9d4663c301 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/ProjectService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/ProjectService.java
@@ -59,7 +59,7 @@ import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.KylinConfigBase;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/SystemService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/SystemService.java
index 63ddcda042..fa467e414d 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/SystemService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/SystemService.java
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
import javax.validation.constraints.NotNull;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.KylinConfigBase;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/UserAclService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/UserAclService.java
index 90641b3154..4ce2a58b9e 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/UserAclService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/UserAclService.java
@@ -33,7 +33,7 @@ import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/common-service/src/main/java/org/apache/kylin/tool/util/ToolUtil.java b/src/common-service/src/main/java/org/apache/kylin/tool/util/ToolUtil.java
index b4cccb2868..f19d575bab 100644
--- a/src/common-service/src/main/java/org/apache/kylin/tool/util/ToolUtil.java
+++ b/src/common-service/src/main/java/org/apache/kylin/tool/util/ToolUtil.java
@@ -31,7 +31,7 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index 9e542921e5..a0908f7043 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -40,7 +40,7 @@ import javax.annotation.Nullable;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.Path;
import org.apache.kylin.common.util.HadoopUtil;
import org.apache.kylin.common.util.OrderedProperties;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index b1f8541092..f1770e9fb2 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -52,7 +52,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.StrSubstitutor;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java b/src/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java
index 48461e155e..0230eb19ac 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java
@@ -25,7 +25,7 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/StorageURL.java b/src/core-common/src/main/java/org/apache/kylin/common/StorageURL.java
index 46c58aa489..d034bff18c 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/StorageURL.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/StorageURL.java
@@ -23,7 +23,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ExecutionException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java b/src/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
index 4a4a2ca2ce..f69f0aab4c 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
@@ -20,7 +20,7 @@ package org.apache.kylin.common.debug;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.Pair;
import com.google.common.collect.Maps;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/persistence/StringEntity.java b/src/core-common/src/main/java/org/apache/kylin/common/persistence/StringEntity.java
index 71ef48f8db..4c3113ed24 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/persistence/StringEntity.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/persistence/StringEntity.java
@@ -22,7 +22,7 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import lombok.Getter;
import lombok.Setter;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/JdbcMetadataStore.java b/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/JdbcMetadataStore.java
index 092c80c334..ad775a0334 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/JdbcMetadataStore.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/JdbcMetadataStore.java
@@ -36,7 +36,7 @@ import javax.annotation.Nullable;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.persistence.RawResource;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/persistence/transaction/AuditLogReplayWorker.java b/src/core-common/src/main/java/org/apache/kylin/common/persistence/transaction/AuditLogReplayWorker.java
index 63299c0aa4..380729ab4c 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/persistence/transaction/AuditLogReplayWorker.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/persistence/transaction/AuditLogReplayWorker.java
@@ -31,7 +31,7 @@ import java.util.stream.Collectors;
import java.util.stream.LongStream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.constant.LogConstant;
import org.apache.kylin.common.logging.SetLogCategory;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java b/src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java
index 5c4b0444fb..4b7a391105 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/DaemonThreadFactory.java
@@ -20,7 +20,7 @@ package org.apache.kylin.common.util;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
*/
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java b/src/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
index c70edf46d2..d7c541ed41 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
@@ -34,7 +34,7 @@ import java.util.Map;
import java.util.TimeZone;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.FastDateFormat;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java b/src/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java
index c308754f12..ba73b9de0f 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/EncryptUtil.java
@@ -24,7 +24,7 @@ import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class EncryptUtil {
/**
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java b/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
index 5137e9ead0..8e4250fc0f 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
@@ -32,7 +32,7 @@ import java.util.Locale;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.ContentSummary;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java b/src/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
index 8ed35b42cd..839bca8a14 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
@@ -43,7 +43,7 @@ import java.util.Vector;
import javax.annotation.Nonnull;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Preconditions;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/SSHClient.java b/src/core-common/src/main/java/org/apache/kylin/common/util/SSHClient.java
index cf3afcb227..a93363c0ff 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/SSHClient.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/SSHClient.java
@@ -31,7 +31,7 @@ import java.io.OutputStream;
import java.nio.charset.Charset;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;
import com.jcraft.jsch.Channel;
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/Unsafe.java b/src/core-common/src/main/java/org/apache/kylin/common/util/Unsafe.java
index 2fbf08fce1..4de01d989b 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/Unsafe.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/Unsafe.java
@@ -23,7 +23,7 @@ import java.text.MessageFormat;
import java.util.Locale;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.SystemPropertiesCache;
/**
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java b/src/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
index b4c402be99..fb9394c6c8 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
@@ -31,7 +31,7 @@ import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.CommonErrorCode;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/core-common/src/main/java/org/apache/kylin/rest/util/PagingUtil.java b/src/core-common/src/main/java/org/apache/kylin/rest/util/PagingUtil.java
index 6ae7c40c25..613de19dc7 100644
--- a/src/core-common/src/main/java/org/apache/kylin/rest/util/PagingUtil.java
+++ b/src/core-common/src/main/java/org/apache/kylin/rest/util/PagingUtil.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class PagingUtil {
diff --git a/src/core-common/src/test/java/org/apache/kylin/common/util/NLocalFileMetadataTestCase.java b/src/core-common/src/test/java/org/apache/kylin/common/util/NLocalFileMetadataTestCase.java
index f677ab9a49..212dea3c0c 100644
--- a/src/core-common/src/test/java/org/apache/kylin/common/util/NLocalFileMetadataTestCase.java
+++ b/src/core-common/src/test/java/org/apache/kylin/common/util/NLocalFileMetadataTestCase.java
@@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.AbstractTestCase;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
diff --git a/src/core-job/src/main/java/org/apache/kylin/engine/spark/ExecutableUtils.java b/src/core-job/src/main/java/org/apache/kylin/engine/spark/ExecutableUtils.java
index 11636e770f..5629b167b8 100644
--- a/src/core-job/src/main/java/org/apache/kylin/engine/spark/ExecutableUtils.java
+++ b/src/core-job/src/main/java/org/apache/kylin/engine/spark/ExecutableUtils.java
@@ -23,7 +23,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.ResourceStore;
import org.apache.kylin.job.execution.AbstractExecutable;
diff --git a/src/core-job/src/main/java/org/apache/kylin/job/dao/ExecutablePO.java b/src/core-job/src/main/java/org/apache/kylin/job/dao/ExecutablePO.java
index 2c8c62a7a0..cfa3da6e19 100644
--- a/src/core-job/src/main/java/org/apache/kylin/job/dao/ExecutablePO.java
+++ b/src/core-job/src/main/java/org/apache/kylin/job/dao/ExecutablePO.java
@@ -26,7 +26,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.kylin.common.persistence.ResourceStore;
import org.apache.kylin.common.persistence.RootPersistentEntity;
import org.apache.kylin.job.constant.ExecutableConstants;
diff --git a/src/core-job/src/main/java/org/apache/kylin/job/engine/JobEngineConfig.java b/src/core-job/src/main/java/org/apache/kylin/job/engine/JobEngineConfig.java
index 0a3f882320..b08539eb87 100644
--- a/src/core-job/src/main/java/org/apache/kylin/job/engine/JobEngineConfig.java
+++ b/src/core-job/src/main/java/org/apache/kylin/job/engine/JobEngineConfig.java
@@ -22,7 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.util.Locale;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.OptionsHelper;
import org.slf4j.Logger;
diff --git a/src/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java b/src/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
index 2baf95144c..2805ee0b31 100644
--- a/src/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
+++ b/src/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
@@ -52,7 +52,7 @@ import java.util.stream.Collectors;
import io.kyligence.kap.guava20.shaded.common.base.Throwables;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/core-job/src/main/java/org/apache/kylin/job/execution/DefaultExecutableOnModel.java b/src/core-job/src/main/java/org/apache/kylin/job/execution/DefaultExecutableOnModel.java
index a87887f492..339efeef8d 100644
--- a/src/core-job/src/main/java/org/apache/kylin/job/execution/DefaultExecutableOnModel.java
+++ b/src/core-job/src/main/java/org/apache/kylin/job/execution/DefaultExecutableOnModel.java
@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.google.common.collect.Sets;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.StringUtil;
import org.apache.kylin.job.model.JobParam;
diff --git a/src/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableParams.java b/src/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableParams.java
index bdd07a3201..2fa462efc2 100644
--- a/src/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableParams.java
+++ b/src/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableParams.java
@@ -35,7 +35,7 @@ import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.common.util.MailHelper;
diff --git a/src/core-job/src/test/java/org/apache/kylin/job/execution/NExecutableManagerTest.java b/src/core-job/src/test/java/org/apache/kylin/job/execution/NExecutableManagerTest.java
index 8934603053..4ba31b27c1 100644
--- a/src/core-job/src/test/java/org/apache/kylin/job/execution/NExecutableManagerTest.java
+++ b/src/core-job/src/test/java/org/apache/kylin/job/execution/NExecutableManagerTest.java
@@ -43,7 +43,7 @@ import java.util.Map;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/core-job/src/test/java/org/apache/kylin/job/impl/threadpool/NDefaultSchedulerTest.java b/src/core-job/src/test/java/org/apache/kylin/job/impl/threadpool/NDefaultSchedulerTest.java
index 1ed40dbbd8..4f56118395 100644
--- a/src/core-job/src/test/java/org/apache/kylin/job/impl/threadpool/NDefaultSchedulerTest.java
+++ b/src/core-job/src/test/java/org/apache/kylin/job/impl/threadpool/NDefaultSchedulerTest.java
@@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.transaction.UnitOfWork;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java
index ccd40959fc..fe8078bcad 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java
@@ -32,7 +32,7 @@ import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang.text.StrBuilder;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.ResourceStore;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java
index 7854f7a8f1..1fb13bc80b 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java
@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.measure.MeasureType;
import org.apache.kylin.measure.basic.BasicMeasureType;
import org.apache.kylin.metadata.cube.model.IndexEntity;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java
index 8dad4df87e..d485f8524a 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java
@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.cube.model.IndexEntity;
import org.apache.kylin.metadata.cube.model.LayoutEntity;
import org.apache.kylin.metadata.cube.model.NDataflow;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/KECuboidSchedulerV1.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/KECuboidSchedulerV1.java
index 325898a158..ed5a851a6b 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/KECuboidSchedulerV1.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/KECuboidSchedulerV1.java
@@ -32,7 +32,7 @@ import java.util.stream.Stream;
import javax.annotation.Nullable;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.OutOfMaxCombinationException;
import org.apache.kylin.common.exception.code.ErrorCodeServer;
import org.apache.kylin.common.util.ThreadUtil;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLoadingRangeManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLoadingRangeManager.java
index 28f220dd6c..5ffeb2e579 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLoadingRangeManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLoadingRangeManager.java
@@ -22,7 +22,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.ResourceStore;
import org.apache.kylin.common.persistence.Serializer;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataSegment.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataSegment.java
index b0e4795c6d..ddb81e407a 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataSegment.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataSegment.java
@@ -30,7 +30,7 @@ import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.RandomUtil;
import org.apache.kylin.metadata.model.ISegment;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataflowCapabilityChecker.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataflowCapabilityChecker.java
index 34d3a016f8..82e1e82853 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataflowCapabilityChecker.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataflowCapabilityChecker.java
@@ -23,7 +23,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.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.metadata.cube.cuboid.NLayoutCandidate;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NIndexPlanManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NIndexPlanManager.java
index be1a135a13..223fdb2f4e 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NIndexPlanManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NIndexPlanManager.java
@@ -27,7 +27,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.KylinConfigExt;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/storage/ProjectStorageInfoCollector.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/storage/ProjectStorageInfoCollector.java
index 1148d304e3..8d2dc7f03b 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/storage/ProjectStorageInfoCollector.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/storage/ProjectStorageInfoCollector.java
@@ -21,7 +21,7 @@ package org.apache.kylin.metadata.cube.storage;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import com.google.common.collect.Lists;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BooleanSerializer.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BooleanSerializer.java
index 0920f831f8..b86d729cb4 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BooleanSerializer.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BooleanSerializer.java
@@ -21,7 +21,7 @@ package org.apache.kylin.metadata.datatype;
import java.nio.ByteBuffer;
import java.util.Locale;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang.BooleanUtils;
public class BooleanSerializer extends DataTypeSerializer<Long> {
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
index ce7081c1bc..81e5881ef5 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
@@ -33,7 +33,7 @@ import java.util.concurrent.ConcurrentMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.BytesSerializer;
import org.apache.kylin.common.util.BytesUtil;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/epoch/EpochManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/epoch/EpochManager.java
index a68d25eeec..c7b22204e3 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/epoch/EpochManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/epoch/EpochManager.java
@@ -42,7 +42,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.Singletons;
import org.apache.kylin.common.constant.LogConstant;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/LikeMatchers.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/LikeMatchers.java
index 9ecbf0762a..2126a22175 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/LikeMatchers.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/LikeMatchers.java
@@ -20,7 +20,7 @@ package org.apache.kylin.metadata.filter.function;
import java.util.Locale;
import java.util.regex.Pattern;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Preconditions;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ModelInsensitiveRequest.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ModelInsensitiveRequest.java
index 593f0807bb..3891183fed 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ModelInsensitiveRequest.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ModelInsensitiveRequest.java
@@ -22,7 +22,7 @@ import java.lang.reflect.Field;
import java.util.Collections;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.project.ProjectInstance;
import org.apache.kylin.common.util.Unsafe;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ProjectInsensitiveRequest.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ProjectInsensitiveRequest.java
index ba98d1462c..335e3450d7 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ProjectInsensitiveRequest.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/ProjectInsensitiveRequest.java
@@ -22,7 +22,7 @@ import java.lang.reflect.Field;
import java.util.Collections;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.project.ProjectInstance;
import org.apache.kylin.common.util.Unsafe;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/UserInsensitiveRequest.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/UserInsensitiveRequest.java
index e7ed83f735..53f1443e58 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/UserInsensitiveRequest.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/insensitive/UserInsensitiveRequest.java
@@ -22,7 +22,7 @@ import java.lang.reflect.Field;
import java.util.Collections;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.Unsafe;
import org.apache.kylin.metadata.user.ManagedUser;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
index 6d642c4743..40d25f80b0 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
@@ -34,7 +34,7 @@ import org.apache.calcite.sql.SqlIdentifier;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.util.SqlBasicVisitor;
import org.apache.calcite.sql.util.SqlVisitor;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
import org.apache.kylin.measure.MeasureTypeFactory;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinedFlatTable.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinedFlatTable.java
index d8fb2b2964..b222252d63 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinedFlatTable.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinedFlatTable.java
@@ -29,7 +29,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.calcite.avatica.util.Quoting;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
index 22b5fa3485..5176517b8f 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
@@ -21,7 +21,7 @@ package org.apache.kylin.metadata.model;
import java.io.Serializable;
import java.util.Objects;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelJoinRelationTypeEnum.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelJoinRelationTypeEnum.java
index 0c3ac2925d..0aca46255e 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelJoinRelationTypeEnum.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelJoinRelationTypeEnum.java
@@ -17,7 +17,7 @@
*/
package org.apache.kylin.metadata.model;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NDataModelManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NDataModelManager.java
index b519717da6..0e38ddb9b2 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NDataModelManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NDataModelManager.java
@@ -27,7 +27,7 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.exception.code.ErrorCodeServer;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NTableMetadataManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NTableMetadataManager.java
index 1556f6be66..c3ecda0c2b 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NTableMetadataManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/NTableMetadataManager.java
@@ -29,7 +29,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.JsonSerializer;
import org.apache.kylin.common.persistence.RawResource;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
index 13022d135d..b6cd7ebd2a 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
@@ -29,7 +29,7 @@ import java.util.Set;
import org.apache.calcite.avatica.util.Quoting;
import org.apache.calcite.sql.SqlKind;
import org.apache.calcite.sql.SqlOperator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.datatype.DataType;
import lombok.Getter;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/alias/ExpressionComparator.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/alias/ExpressionComparator.java
index 1c4d692ebc..6b98dd45e5 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/alias/ExpressionComparator.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/alias/ExpressionComparator.java
@@ -31,7 +31,7 @@ import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.SqlNodeList;
import org.apache.calcite.sql.SqlOperator;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/AffectedModelContext.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/AffectedModelContext.java
index fb4ad339a8..3c37bccf98 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/AffectedModelContext.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/AffectedModelContext.java
@@ -24,7 +24,7 @@ import java.util.function.UnaryOperator;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.common.util.Pair;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/ModelEdgeCollector.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/ModelEdgeCollector.java
index ccda8a9527..57cf5e5bfe 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/ModelEdgeCollector.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/schema/ModelEdgeCollector.java
@@ -25,7 +25,7 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.Pair;
import org.apache.kylin.metadata.cube.cuboid.NAggregationGroup;
import org.apache.kylin.metadata.cube.model.IndexPlan;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/CalciteParser.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/CalciteParser.java
index b09da6b5fa..16c6e85ba6 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/CalciteParser.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/CalciteParser.java
@@ -39,7 +39,7 @@ import org.apache.calcite.sql.parser.SqlParser;
import org.apache.calcite.sql.parser.SqlParserPos;
import org.apache.calcite.sql.util.SqlBasicVisitor;
import org.apache.calcite.sql.util.SqlVisitor;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ExpModifier;
import org.apache.kylin.common.util.Pair;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/query/JdbcQueryHistoryStore.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/query/JdbcQueryHistoryStore.java
index 250c704991..06ac3dadd6 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/query/JdbcQueryHistoryStore.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/query/JdbcQueryHistoryStore.java
@@ -50,7 +50,7 @@ import java.util.stream.Collectors;
import javax.sql.DataSource;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.jdbc.ScriptRunner;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
index 2620121e73..cb8b5ff0a3 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
@@ -27,7 +27,7 @@ import java.util.Objects;
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.model.FunctionDesc;
import org.apache.kylin.metadata.model.JoinDesc;
import org.apache.kylin.metadata.model.MeasureDesc;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/candidate/RawRecItemTable.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/candidate/RawRecItemTable.java
index 9e799d3bba..01113d71af 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/candidate/RawRecItemTable.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/candidate/RawRecItemTable.java
@@ -27,7 +27,7 @@ import java.sql.SQLException;
import org.apache.kylin.metadata.recommendation.entity.RecItemV2;
import org.apache.commons.lang.SerializationException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/entity/CCRecItemV2.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/entity/CCRecItemV2.java
index 4d474e1262..9525cd6287 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/entity/CCRecItemV2.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/entity/CCRecItemV2.java
@@ -21,7 +21,7 @@ package org.apache.kylin.metadata.recommendation.entity;
import java.io.Serializable;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.model.TblColRef;
import org.apache.kylin.metadata.model.ComputedColumnDesc;
import org.apache.kylin.metadata.model.NDataModel;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/ref/OptRecV2.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/ref/OptRecV2.java
index 44da2716cb..404e23abb0 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/ref/OptRecV2.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/recommendation/ref/OptRecV2.java
@@ -27,7 +27,7 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.metadata.cube.model.LayoutEntity;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/sourceusage/SourceUsageManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/sourceusage/SourceUsageManager.java
index 882a085f6d..014272635f 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/sourceusage/SourceUsageManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/sourceusage/SourceUsageManager.java
@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.annotation.Clarification;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/streaming/KafkaConfig.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/streaming/KafkaConfig.java
index e9a2ec0b48..fb81c6ecb4 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/streaming/KafkaConfig.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/streaming/KafkaConfig.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
import java.util.Locale;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.persistence.ResourceStore;
import org.apache.kylin.common.persistence.RootPersistentEntity;
import org.apache.kylin.metadata.MetadataConstants;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/rest/security/ExternalAclProvider.java b/src/core-metadata/src/main/java/org/apache/kylin/rest/security/ExternalAclProvider.java
index 25289385f0..e4cf56e15a 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/rest/security/ExternalAclProvider.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/rest/security/ExternalAclProvider.java
@@ -23,7 +23,7 @@ import static org.apache.kylin.common.exception.ServerErrorCode.PERMISSION_DENIE
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.Singletons;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/rest/security/UserAclManager.java b/src/core-metadata/src/main/java/org/apache/kylin/rest/security/UserAclManager.java
index 4d34c5c71c..d9a66000e1 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/rest/security/UserAclManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/rest/security/UserAclManager.java
@@ -26,7 +26,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.ResourceStore;
import org.apache.kylin.common.persistence.transaction.UnitOfWork;
diff --git a/src/core-metadata/src/test/java/org/apache/kylin/metadata/epoch/EpochUpdateLockManagerTest.java b/src/core-metadata/src/test/java/org/apache/kylin/metadata/epoch/EpochUpdateLockManagerTest.java
index 4683b6f556..4e235d8166 100644
--- a/src/core-metadata/src/test/java/org/apache/kylin/metadata/epoch/EpochUpdateLockManagerTest.java
+++ b/src/core-metadata/src/test/java/org/apache/kylin/metadata/epoch/EpochUpdateLockManagerTest.java
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.junit.annotation.JdbcMetadataInfo;
import org.apache.kylin.junit.annotation.MetadataInfo;
import org.junit.Assert;
diff --git a/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsGroup.java b/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsGroup.java
index b97461f33b..d191fc7e44 100644
--- a/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsGroup.java
+++ b/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsGroup.java
@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.metrics.gauges.QueryRatioGauge;
diff --git a/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsInfluxdbReporter.java b/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsInfluxdbReporter.java
index 087555f533..07d3b769e1 100644
--- a/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsInfluxdbReporter.java
+++ b/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/MetricsInfluxdbReporter.java
@@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.Singletons;
import org.apache.kylin.common.metrics.reporter.InfluxdbReporter;
diff --git a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/BaseController.java b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/BaseController.java
index 83f152d7e8..9e6bcea3c7 100644
--- a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/BaseController.java
+++ b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/BaseController.java
@@ -53,7 +53,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/JobController.java b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/JobController.java
index f5214019f4..ea3e921baa 100644
--- a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/JobController.java
+++ b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/JobController.java
@@ -33,7 +33,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.util.Pair;
import org.apache.kylin.rest.response.DataResult;
diff --git a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/SegmentController.java b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/SegmentController.java
index 5d8e2b4012..7ca289d990 100644
--- a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/SegmentController.java
+++ b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/SegmentController.java
@@ -28,7 +28,7 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.util.Pair;
diff --git a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/open/OpenStreamingJobController.java b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/open/OpenStreamingJobController.java
index 800c2a4ae9..855c9cb46e 100644
--- a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/open/OpenStreamingJobController.java
+++ b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/open/OpenStreamingJobController.java
@@ -23,7 +23,7 @@ import static org.apache.kylin.common.constant.HttpConstant.HTTP_VND_APACHE_KYLI
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.rest.response.DataResult;
import org.apache.kylin.rest.response.EnvelopeResponse;
diff --git a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/SegmentControllerV2.java b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/SegmentControllerV2.java
index ee1de0d848..8ad2940b61 100644
--- a/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/SegmentControllerV2.java
+++ b/src/data-loading-server/src/main/java/org/apache/kylin/rest/controller/v2/SegmentControllerV2.java
@@ -38,7 +38,7 @@ import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.job.execution.JobTypeEnum;
import org.apache.kylin.metadata.model.Segments;
diff --git a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/SampleControllerTest.java b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/SampleControllerTest.java
index 72bfbc9888..97e2b89914 100644
--- a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/SampleControllerTest.java
+++ b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/SampleControllerTest.java
@@ -22,7 +22,7 @@ import static org.apache.kylin.common.constant.HttpConstant.HTTP_VND_APACHE_KYLI
import java.nio.charset.StandardCharsets;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
import org.apache.kylin.job.dao.ExecutablePO;
diff --git a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/StreamingJobControllerTest.java b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/StreamingJobControllerTest.java
index b8e05d3528..84ed40219a 100644
--- a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/StreamingJobControllerTest.java
+++ b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/StreamingJobControllerTest.java
@@ -24,7 +24,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.SystemPropertiesCache;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenSampleControllerTest.java b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenSampleControllerTest.java
index c76f59fc2b..0b494a9c30 100644
--- a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenSampleControllerTest.java
+++ b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenSampleControllerTest.java
@@ -22,7 +22,7 @@ import static org.apache.kylin.common.constant.HttpConstant.HTTP_VND_APACHE_KYLI
import java.nio.charset.StandardCharsets;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenStreamingJobControllerTest.java b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenStreamingJobControllerTest.java
index 144bc1d5d1..d0c2b357cf 100644
--- a/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenStreamingJobControllerTest.java
+++ b/src/data-loading-server/src/test/java/org/apache/kylin/rest/controller/open/OpenStreamingJobControllerTest.java
@@ -23,7 +23,7 @@ import static org.apache.kylin.common.exception.code.ErrorCodeServer.REQUEST_PAR
import java.util.Collections;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.SystemPropertiesCache;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
diff --git a/src/data-loading-service/src/main/java/org/apache/kylin/rest/response/ExecutableResponse.java b/src/data-loading-service/src/main/java/org/apache/kylin/rest/response/ExecutableResponse.java
index 4a0ea0f381..c974b4caeb 100644
--- a/src/data-loading-service/src/main/java/org/apache/kylin/rest/response/ExecutableResponse.java
+++ b/src/data-loading-service/src/main/java/org/apache/kylin/rest/response/ExecutableResponse.java
@@ -24,7 +24,7 @@ import java.util.Map;
import java.util.Optional;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.engine.spark.job.NSparkSnapshotJob;
diff --git a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/JobService.java b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/JobService.java
index 2a97510c86..dc35003be5 100644
--- a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/JobService.java
+++ b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/JobService.java
@@ -50,7 +50,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.cluster.ClusterManagerFactory;
import org.apache.kylin.cluster.IClusterManager;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/ModelBuildService.java b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/ModelBuildService.java
index 6d4e17b81b..c42c01e6bc 100644
--- a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/ModelBuildService.java
+++ b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/ModelBuildService.java
@@ -39,7 +39,7 @@ import java.util.StringJoiner;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.JobErrorCode;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/SnapshotService.java b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/SnapshotService.java
index 431758773d..176c6281a2 100644
--- a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/SnapshotService.java
+++ b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/SnapshotService.java
@@ -24,7 +24,7 @@ import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.kylin.engine.spark.job.NSparkSnapshotJob;
import lombok.val;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.exception.ServerErrorCode;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/TableSamplingService.java b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/TableSamplingService.java
index 698a96480f..6eddffa18f 100644
--- a/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/TableSamplingService.java
+++ b/src/data-loading-service/src/main/java/org/apache/kylin/rest/service/TableSamplingService.java
@@ -23,7 +23,7 @@ import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.kylin.engine.spark.job.NTableSamplingJob;
import lombok.val;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.Message;
diff --git a/src/data-loading-service/src/test/java/org/apache/kylin/rest/service/JobServiceTest.java b/src/data-loading-service/src/test/java/org/apache/kylin/rest/service/JobServiceTest.java
index c51fc1c35e..1bb130d731 100644
--- a/src/data-loading-service/src/test/java/org/apache/kylin/rest/service/JobServiceTest.java
+++ b/src/data-loading-service/src/test/java/org/apache/kylin/rest/service/JobServiceTest.java
@@ -60,7 +60,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.kylin.metadata.epoch.EpochManager;
import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.Path;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/DefaultAdaptor.java b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/DefaultAdaptor.java
index 84fdfd3e63..6665a824e8 100644
--- a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/DefaultAdaptor.java
+++ b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/DefaultAdaptor.java
@@ -30,7 +30,7 @@ import java.util.Map;
import javax.sql.rowset.CachedRowSet;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Joiner;
diff --git a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/JdbcConnector.java b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/JdbcConnector.java
index 32693eaf5b..86a849384c 100644
--- a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/JdbcConnector.java
+++ b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/JdbcConnector.java
@@ -27,7 +27,7 @@ import java.util.regex.Pattern;
import javax.sql.rowset.CachedRowSet;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.datatype.DataType;
import org.apache.kylin.sdk.datasource.adaptor.AbstractJdbcAdaptor;
import org.apache.kylin.sdk.datasource.framework.conv.ConvMaster;
diff --git a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ParamNodeParser.java b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ParamNodeParser.java
index be54769363..656fffd390 100644
--- a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ParamNodeParser.java
+++ b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ParamNodeParser.java
@@ -20,7 +20,7 @@ package org.apache.kylin.sdk.datasource.framework.conv;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
index 6981a4d531..0e7a5f1e0e 100644
--- a/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
+++ b/src/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
@@ -25,7 +25,7 @@ import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.SqlSelect;
import org.apache.calcite.sql.dialect.CalciteSqlDialect;
import org.apache.calcite.sql.parser.SqlParser;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.datatype.DataType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/datasource-service/src/main/java/org/apache/kylin/rest/service/SparkDDLService.java b/src/datasource-service/src/main/java/org/apache/kylin/rest/service/SparkDDLService.java
index e8f2341770..a4481e30c9 100644
--- a/src/datasource-service/src/main/java/org/apache/kylin/rest/service/SparkDDLService.java
+++ b/src/datasource-service/src/main/java/org/apache/kylin/rest/service/SparkDDLService.java
@@ -28,7 +28,7 @@ import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/datasource-service/src/main/java/org/apache/kylin/rest/service/TableService.java b/src/datasource-service/src/main/java/org/apache/kylin/rest/service/TableService.java
index 6b7538697c..efa49e11b1 100644
--- a/src/datasource-service/src/main/java/org/apache/kylin/rest/service/TableService.java
+++ b/src/datasource-service/src/main/java/org/apache/kylin/rest/service/TableService.java
@@ -61,7 +61,7 @@ import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/job-service/src/main/java/org/apache/kylin/rest/config/initialize/JobSyncListener.java b/src/job-service/src/main/java/org/apache/kylin/rest/config/initialize/JobSyncListener.java
index 1f892e7d3c..7b5f77fb9f 100644
--- a/src/job-service/src/main/java/org/apache/kylin/rest/config/initialize/JobSyncListener.java
+++ b/src/job-service/src/main/java/org/apache/kylin/rest/config/initialize/JobSyncListener.java
@@ -33,7 +33,7 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
diff --git a/src/job-service/src/test/java/org/apache/kylin/rest/config/initialize/JobSchedulerTest.java b/src/job-service/src/test/java/org/apache/kylin/rest/config/initialize/JobSchedulerTest.java
index 98a2dc6b69..0d75fb5ee8 100644
--- a/src/job-service/src/test/java/org/apache/kylin/rest/config/initialize/JobSchedulerTest.java
+++ b/src/job-service/src/test/java/org/apache/kylin/rest/config/initialize/JobSchedulerTest.java
@@ -30,7 +30,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.persistence.transaction.UnitOfWork;
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/NKapQueryTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/NKapQueryTest.java
index b9447a22b4..c6a1912c89 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/NKapQueryTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/NKapQueryTest.java
@@ -23,7 +23,7 @@ import java.sql.SQLException;
import java.util.List;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.util.Shell;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.KylinVersion;
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/rest/controller/NProjectControllerTest.java b/src/kylin-it/src/test/java/org/apache/kylin/rest/controller/NProjectControllerTest.java
index 943433c64b..8c078fd32c 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/rest/controller/NProjectControllerTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/rest/controller/NProjectControllerTest.java
@@ -23,7 +23,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
import java.util.Locale;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.metadata.project.NProjectManager;
diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NModelController.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NModelController.java
index 8017577c07..b520231844 100644
--- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NModelController.java
+++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NModelController.java
@@ -34,7 +34,7 @@ import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.metadata.model.NDataModel;
diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NProjectController.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NProjectController.java
index 74b85153c3..a47868f81c 100644
--- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NProjectController.java
+++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NProjectController.java
@@ -39,7 +39,7 @@ import java.util.Set;
import javax.validation.Valid;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NTableController.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NTableController.java
index 9466eb6374..1dfd998028 100644
--- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NTableController.java
+++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NTableController.java
@@ -36,8 +36,8 @@ import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserController.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserController.java
index 60b4e0797a..fa669bfc67 100644
--- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserController.java
+++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserController.java
@@ -46,7 +46,7 @@ import java.util.stream.Collectors;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserGroupController.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserGroupController.java
index ba30cd6c60..192812b1f6 100644
--- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserGroupController.java
+++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/NUserGroupController.java
@@ -29,7 +29,7 @@ import java.util.Map;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
import org.apache.kylin.rest.constant.Constant;
diff --git a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NAccessControllerV2.java b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NAccessControllerV2.java
index e4465dd69f..6dd3e73e45 100644
--- a/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NAccessControllerV2.java
+++ b/src/metadata-server/src/main/java/org/apache/kylin/rest/controller/v2/NAccessControllerV2.java
@@ -29,7 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.persistence.AclEntity;
diff --git a/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NTableControllerTest.java b/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NTableControllerTest.java
index ad10f6f199..1f0e6aa271 100644
--- a/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NTableControllerTest.java
+++ b/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NTableControllerTest.java
@@ -29,7 +29,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
diff --git a/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NUserControllerTest.java b/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NUserControllerTest.java
index 49359f2f18..4103ea9df2 100644
--- a/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NUserControllerTest.java
+++ b/src/metadata-server/src/test/java/org/apache/kylin/rest/controller/NUserControllerTest.java
@@ -36,7 +36,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.Message;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/model/FuzzyKeySearcher.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/model/FuzzyKeySearcher.java
index 5870223613..084a803613 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/model/FuzzyKeySearcher.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/model/FuzzyKeySearcher.java
@@ -21,7 +21,7 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.model.FunctionDesc;
import org.apache.kylin.metadata.model.ComputedColumnDesc;
import org.apache.kylin.metadata.model.NDataModel;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/response/SynchronizedCommentsResponse.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/response/SynchronizedCommentsResponse.java
index 3ec10cc795..90d2148403 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/response/SynchronizedCommentsResponse.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/response/SynchronizedCommentsResponse.java
@@ -29,7 +29,7 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.model.ColumnDesc;
import org.apache.kylin.metadata.model.FunctionDesc;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/AbstractModelService.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/AbstractModelService.java
index b46314b2e1..4f3781c404 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/AbstractModelService.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/AbstractModelService.java
@@ -28,7 +28,7 @@ import static org.apache.kylin.common.exception.code.ErrorCodeServer.MODEL_NOT_E
import java.util.Arrays;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
import org.apache.kylin.metadata.acl.AclTCRManager;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java
index d4ebbbe964..2d68ea7de1 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java
@@ -21,7 +21,7 @@ package org.apache.kylin.rest.service;
import java.util.List;
import java.util.Locale;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.exception.ServerErrorCode;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/IndexPlanService.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/IndexPlanService.java
index 62d597daf5..1b9e681ef6 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/IndexPlanService.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/IndexPlanService.java
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.SegmentOnlineMode;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelSemanticHelper.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelSemanticHelper.java
index 725d3994f6..b7a21eb955 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelSemanticHelper.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelSemanticHelper.java
@@ -41,7 +41,7 @@ import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.dialect.HiveSqlDialect;
import org.apache.calcite.sql.util.SqlVisitor;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.CommonErrorCode;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelService.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelService.java
index d83c15c751..ba966e6d28 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -103,8 +103,8 @@ import org.apache.calcite.sql.util.SqlVisitor;
import org.apache.calcite.util.Util;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/util/ModelUtils.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/util/ModelUtils.java
index 631de90ba6..0b38bbebfc 100644
--- a/src/modeling-service/src/main/java/org/apache/kylin/rest/util/ModelUtils.java
+++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/util/ModelUtils.java
@@ -26,7 +26,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.util.DateFormat;
diff --git a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/BaseIndexTest.java b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/BaseIndexTest.java
index 10cfed3766..928c903239 100644
--- a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/BaseIndexTest.java
+++ b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/BaseIndexTest.java
@@ -29,7 +29,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.job.execution.AbstractExecutable;
import org.apache.kylin.metadata.cube.model.IndexEntity;
diff --git a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java
index a75c4a84e6..8cbb4be88e 100644
--- a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java
+++ b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java
@@ -26,7 +26,7 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.transaction.UnitOfWork;
import org.apache.kylin.common.scheduler.EventBusFactory;
diff --git a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java
index 3e585b7392..9c8293e8b9 100644
--- a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java
+++ b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java
@@ -84,9 +84,9 @@ import org.apache.calcite.sql.SqlKind;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/TableServiceTest.java b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/TableServiceTest.java
index 4f47d6cc3c..5864a7e5de 100644
--- a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/TableServiceTest.java
+++ b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/TableServiceTest.java
@@ -46,7 +46,7 @@ import java.util.stream.Collectors;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/routing/RealizationChooser.java b/src/query-common/src/main/java/org/apache/kylin/query/routing/RealizationChooser.java
index 21908533a2..d4f70edd52 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/routing/RealizationChooser.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/routing/RealizationChooser.java
@@ -59,7 +59,7 @@ import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.exception.KylinTimeoutException;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/schema/OLAPTable.java b/src/query-common/src/main/java/org/apache/kylin/query/schema/OLAPTable.java
index 7aa18f093b..ff3ba69038 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/schema/OLAPTable.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/schema/OLAPTable.java
@@ -51,7 +51,7 @@ import org.apache.calcite.sql.type.SqlTypeName;
import org.apache.calcite.sql.type.SqlTypeUtil;
import org.apache.calcite.util.ImmutableBitSet;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.util.CollectionUtil;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/security/AccessDeniedException.java b/src/query-common/src/main/java/org/apache/kylin/query/security/AccessDeniedException.java
index 3ab1bff212..e45418c05c 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/security/AccessDeniedException.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/security/AccessDeniedException.java
@@ -20,7 +20,7 @@ package org.apache.kylin.query.security;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class AccessDeniedException extends RuntimeException {
public AccessDeniedException(String s) {
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/security/RowFilter.java b/src/query-common/src/main/java/org/apache/kylin/query/security/RowFilter.java
index bb5525a3a7..f0695d63e2 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/security/RowFilter.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/security/RowFilter.java
@@ -38,7 +38,7 @@ import org.apache.calcite.sql.SqlNodeList;
import org.apache.calcite.sql.SqlSelect;
import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.calcite.sql.util.SqlBasicVisitor;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang.text.StrBuilder;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/util/AsyncQueryUtil.java b/src/query-common/src/main/java/org/apache/kylin/query/util/AsyncQueryUtil.java
index 09e05a4e53..e05d0e003e 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/util/AsyncQueryUtil.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/util/AsyncQueryUtil.java
@@ -26,7 +26,7 @@ import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/util/ModelViewSqlNodeComparator.java b/src/query-common/src/main/java/org/apache/kylin/query/util/ModelViewSqlNodeComparator.java
index b29c2ea48e..6791a6e3d7 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/util/ModelViewSqlNodeComparator.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/util/ModelViewSqlNodeComparator.java
@@ -19,7 +19,7 @@
package org.apache.kylin.query.util;
import org.apache.calcite.sql.SqlIdentifier;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.model.NDataModel;
import org.apache.kylin.metadata.model.alias.ExpressionComparator;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java b/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
index 4707d9406a..ddbca4afbe 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
import javax.ws.rs.BadRequestException;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/query-common/src/main/java/org/apache/kylin/query/util/QueryAliasMatcher.java b/src/query-common/src/main/java/org/apache/kylin/query/util/QueryAliasMatcher.java
index 8cc71a523c..f5940b6dfb 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/util/QueryAliasMatcher.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/util/QueryAliasMatcher.java
@@ -41,7 +41,7 @@ import org.apache.calcite.sql.SqlSelect;
import org.apache.calcite.sql.dialect.CalciteSqlDialect;
import org.apache.calcite.sql.util.SqlBasicVisitor;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.KylinConfigExt;
import org.apache.kylin.common.util.Pair;
diff --git a/src/query-server/src/main/java/org/apache/kylin/rest/controller/NAsyncQueryController.java b/src/query-server/src/main/java/org/apache/kylin/rest/controller/NAsyncQueryController.java
index 8db117d415..8f84c63ddf 100644
--- a/src/query-server/src/main/java/org/apache/kylin/rest/controller/NAsyncQueryController.java
+++ b/src/query-server/src/main/java/org/apache/kylin/rest/controller/NAsyncQueryController.java
@@ -36,7 +36,7 @@ import java.util.concurrent.atomic.AtomicReference;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/query-server/src/main/java/org/apache/kylin/rest/controller/NQueryController.java b/src/query-server/src/main/java/org/apache/kylin/rest/controller/NQueryController.java
index 35e2f9f86f..ea088d38a8 100644
--- a/src/query-server/src/main/java/org/apache/kylin/rest/controller/NQueryController.java
+++ b/src/query-server/src/main/java/org/apache/kylin/rest/controller/NQueryController.java
@@ -44,7 +44,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.ForceToTieredStorage;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
diff --git a/src/query-server/src/test/java/org/apache/kylin/rest/controller/SparkMetricsControllerTest.java b/src/query-server/src/test/java/org/apache/kylin/rest/controller/SparkMetricsControllerTest.java
index dc0833d0b6..17e71a374a 100644
--- a/src/query-server/src/test/java/org/apache/kylin/rest/controller/SparkMetricsControllerTest.java
+++ b/src/query-server/src/test/java/org/apache/kylin/rest/controller/SparkMetricsControllerTest.java
@@ -18,7 +18,7 @@
package org.apache.kylin.rest.controller;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.rest.service.MonitorService;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/response/SQLResponseV2.java b/src/query-service/src/main/java/org/apache/kylin/rest/response/SQLResponseV2.java
index 7b93919c66..f9343ecf58 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/response/SQLResponseV2.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/response/SQLResponseV2.java
@@ -23,7 +23,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.metadata.querymeta.SelectedColumnMeta;
import org.slf4j.Logger;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/service/ModelQueryService.java b/src/query-service/src/main/java/org/apache/kylin/rest/service/ModelQueryService.java
index ab70cdc64f..09b3c25d26 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/service/ModelQueryService.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/service/ModelQueryService.java
@@ -30,7 +30,7 @@ import java.util.Set;
import java.util.function.BiConsumer;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.cube.model.NDataflow;
import org.apache.kylin.metadata.cube.model.NDataflowManager;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/service/MonitorService.java b/src/query-service/src/main/java/org/apache/kylin/rest/service/MonitorService.java
index d1c3e60617..d90adc90ee 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/service/MonitorService.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/service/MonitorService.java
@@ -27,7 +27,7 @@ import java.util.function.Consumer;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.cluster.ClusterManagerFactory;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryHistoryService.java b/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryHistoryService.java
index 7479631821..53520b65e4 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryHistoryService.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryHistoryService.java
@@ -40,7 +40,7 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java b/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
index bd6c676374..846e7b6260 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -55,7 +55,7 @@ import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.calcite.sql.pretty.SqlPrettyWriter;
import org.apache.calcite.sql.validate.SqlValidatorException;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.kylin.common.ForceToTieredStorage;
import org.apache.kylin.common.KapConfig;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryCacheSignatureUtil.java b/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryCacheSignatureUtil.java
index 058867993b..81b68e074c 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryCacheSignatureUtil.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryCacheSignatureUtil.java
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.cube.model.NDataSegment;
import org.apache.kylin.metadata.cube.model.NDataflowManager;
diff --git a/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryUtils.java b/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryUtils.java
index a9aba9cad5..0c922b603e 100644
--- a/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryUtils.java
+++ b/src/query-service/src/main/java/org/apache/kylin/rest/util/QueryUtils.java
@@ -18,7 +18,7 @@
package org.apache.kylin.rest.util;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.util.Pair;
diff --git a/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryApplication.java b/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryApplication.java
index 01fdf5e3ab..b36ccf4e92 100644
--- a/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryApplication.java
+++ b/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryApplication.java
@@ -28,7 +28,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryJob.java b/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryJob.java
index c8c5aebe48..236b11a022 100644
--- a/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryJob.java
+++ b/src/query/src/main/java/org/apache/kylin/query/engine/AsyncQueryJob.java
@@ -24,7 +24,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.KylinConfigExt;
diff --git a/src/query/src/test/java/org/apache/kylin/query/engine/view/ModelViewTest.java b/src/query/src/test/java/org/apache/kylin/query/engine/view/ModelViewTest.java
index 920bfebe8c..73af7b7de7 100644
--- a/src/query/src/test/java/org/apache/kylin/query/engine/view/ModelViewTest.java
+++ b/src/query/src/test/java/org/apache/kylin/query/engine/view/ModelViewTest.java
@@ -28,7 +28,7 @@ import java.util.LinkedHashMap;
import org.apache.calcite.schema.impl.ViewTable;
import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
import org.apache.kylin.metadata.cube.model.IndexPlan;
diff --git a/src/query/src/test/java/org/apache/kylin/query/schema/KylinSqlValidatorTest.java b/src/query/src/test/java/org/apache/kylin/query/schema/KylinSqlValidatorTest.java
index 93c24774b4..80e90d0f0a 100644
--- a/src/query/src/test/java/org/apache/kylin/query/schema/KylinSqlValidatorTest.java
+++ b/src/query/src/test/java/org/apache/kylin/query/schema/KylinSqlValidatorTest.java
@@ -27,7 +27,7 @@ import java.nio.file.Files;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.realization.RealizationStatusEnum;
import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
diff --git a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/ClickHouseStorage.java b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/ClickHouseStorage.java
index 9e5c578127..1567bdec0e 100644
--- a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/ClickHouseStorage.java
+++ b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/ClickHouseStorage.java
@@ -28,7 +28,7 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.ClickHouseConfig;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.job.SecondStorageStepFactory;
diff --git a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouse.java b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouse.java
index 9822425ff8..8ac02bea48 100644
--- a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouse.java
+++ b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouse.java
@@ -18,6 +18,13 @@
package io.kyligence.kap.clickhouse.job;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import lombok.val;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.apache.kylin.common.KylinConfig;
+
import java.io.Closeable;
import java.sql.Connection;
import java.sql.Date;
@@ -38,14 +45,6 @@ import java.util.Objects;
import java.util.Properties;
import java.util.function.Function;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang3.exception.ExceptionUtils;
-import org.apache.kylin.common.KylinConfig;
-
-import lombok.Getter;
-import lombok.val;
-import lombok.extern.slf4j.Slf4j;
-
@Slf4j
@Getter
public class ClickHouse implements Closeable {
diff --git a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouseLoad.java b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouseLoad.java
index ac3f1e9a97..150d989209 100644
--- a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouseLoad.java
+++ b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickHouseLoad.java
@@ -47,7 +47,7 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickhouseLoadFileLoad.java b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickhouseLoadFileLoad.java
index 431f583b40..4145a9108f 100644
--- a/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickhouseLoadFileLoad.java
+++ b/src/second-storage/clickhouse/src/main/java/io/kyligence/kap/clickhouse/job/ClickhouseLoadFileLoad.java
@@ -21,7 +21,7 @@ package io.kyligence.kap.clickhouse.job;
import java.sql.SQLException;
import java.util.concurrent.TimeUnit;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import io.kyligence.kap.clickhouse.ddl.ClickHouseCreateTable;
diff --git a/src/second-storage/clickhouse/src/test/java/io/kyligence/kap/clickhouse/job/HadoopMockUtil.java b/src/second-storage/clickhouse/src/test/java/io/kyligence/kap/clickhouse/job/HadoopMockUtil.java
index fd9006406a..8d91f0e857 100644
--- a/src/second-storage/clickhouse/src/test/java/io/kyligence/kap/clickhouse/job/HadoopMockUtil.java
+++ b/src/second-storage/clickhouse/src/test/java/io/kyligence/kap/clickhouse/job/HadoopMockUtil.java
@@ -21,7 +21,7 @@ package io.kyligence.kap.clickhouse.job;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.kylin.common.util.HadoopUtil;
import org.mockito.Mockito;
diff --git a/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/OpenSecondStorageEndpoint.java b/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/OpenSecondStorageEndpoint.java
index c6a89603d8..ec06ef3cc4 100644
--- a/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/OpenSecondStorageEndpoint.java
+++ b/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/OpenSecondStorageEndpoint.java
@@ -27,7 +27,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Objects;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageEndpoint.java b/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageEndpoint.java
index 1d1a9287c9..b67e565d99 100644
--- a/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageEndpoint.java
+++ b/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageEndpoint.java
@@ -34,7 +34,7 @@ import java.util.Map;
import java.util.Objects;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/DDL.java b/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/DDL.java
index 087673da05..997b981960 100644
--- a/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/DDL.java
+++ b/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/DDL.java
@@ -18,7 +18,7 @@
package io.kyligence.kap.secondstorage.ddl;
import io.kyligence.kap.secondstorage.ddl.visitor.DefaultSQLRender;
import io.kyligence.kap.secondstorage.ddl.visitor.Renderable;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public abstract class DDL<T extends DDL<T>> implements Renderable {
diff --git a/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/exp/TableIdentifier.java b/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/exp/TableIdentifier.java
index f8c007dd34..dbb7cc119c 100644
--- a/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/exp/TableIdentifier.java
+++ b/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/ddl/exp/TableIdentifier.java
@@ -19,7 +19,7 @@ package io.kyligence.kap.secondstorage.ddl.exp;
import io.kyligence.kap.secondstorage.ddl.visitor.RenderVisitor;
import io.kyligence.kap.secondstorage.ddl.visitor.Renderable;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class TableIdentifier implements Renderable {
public static final char TABLE_ESCAPE = '`';
diff --git a/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/metadata/Manager.java b/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/metadata/Manager.java
index 25c5b7ba90..ce2bb65bd4 100644
--- a/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/metadata/Manager.java
+++ b/src/second-storage/core/src/main/java/io/kyligence/kap/secondstorage/metadata/Manager.java
@@ -24,7 +24,7 @@ import java.util.function.Supplier;
import javax.annotation.concurrent.NotThreadSafe;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.ResourceStore;
import org.apache.kylin.common.persistence.RootPersistentEntity;
diff --git a/src/server/src/main/java/org/apache/kylin/rest/QueryNodeFilter.java b/src/server/src/main/java/org/apache/kylin/rest/QueryNodeFilter.java
index 2af787aaf7..eb209b2a56 100644
--- a/src/server/src/main/java/org/apache/kylin/rest/QueryNodeFilter.java
+++ b/src/server/src/main/java/org/apache/kylin/rest/QueryNodeFilter.java
@@ -42,7 +42,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.ErrorCode;
import org.apache.kylin.common.exception.KylinException;
diff --git a/src/server/src/main/java/org/apache/kylin/rest/ZookeeperClusterManager.java b/src/server/src/main/java/org/apache/kylin/rest/ZookeeperClusterManager.java
index cfa593dca9..29b286fce4 100644
--- a/src/server/src/main/java/org/apache/kylin/rest/ZookeeperClusterManager.java
+++ b/src/server/src/main/java/org/apache/kylin/rest/ZookeeperClusterManager.java
@@ -24,7 +24,7 @@ import java.util.List;
import javax.annotation.Nullable;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.rest.cluster.ClusterManager;
import org.apache.kylin.rest.discovery.KylinServiceDiscoveryCache;
import org.apache.kylin.rest.discovery.KylinServiceDiscoveryClient;
diff --git a/src/server/src/main/java/org/apache/kylin/rest/config/CorsConfig.java b/src/server/src/main/java/org/apache/kylin/rest/config/CorsConfig.java
index eb24c3136a..8c56cf07c6 100644
--- a/src/server/src/main/java/org/apache/kylin/rest/config/CorsConfig.java
+++ b/src/server/src/main/java/org/apache/kylin/rest/config/CorsConfig.java
@@ -17,7 +17,7 @@
*/
package org.apache.kylin.rest.config;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryCache.java b/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryCache.java
index 1fa3b8857d..e49696c18b 100644
--- a/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryCache.java
+++ b/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryCache.java
@@ -35,8 +35,8 @@ import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.state.ConnectionState;
import org.apache.curator.x.discovery.ServiceCache;
diff --git a/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryClient.java b/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryClient.java
index aa7f50b9de..f9a32e74f9 100644
--- a/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryClient.java
+++ b/src/server/src/main/java/org/apache/kylin/rest/discovery/KylinServiceDiscoveryClient.java
@@ -27,7 +27,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.kylin.rest.response.ServerInfoResponse;
import org.springframework.cloud.client.serviceregistry.Registration;
import org.springframework.cloud.zookeeper.ConditionalOnZookeeperEnabled;
diff --git a/src/source-hive/src/test/java/org/apache/kylin/source/hive/BeelineOptionsProcessorTest.java b/src/source-hive/src/test/java/org/apache/kylin/source/hive/BeelineOptionsProcessorTest.java
index 3a21dfc1eb..4c34d2d259 100644
--- a/src/source-hive/src/test/java/org/apache/kylin/source/hive/BeelineOptionsProcessorTest.java
+++ b/src/source-hive/src/test/java/org/apache/kylin/source/hive/BeelineOptionsProcessorTest.java
@@ -19,7 +19,7 @@
package org.apache.kylin.source.hive;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Ignore;
import org.junit.Test;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/application/SparkApplication.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/application/SparkApplication.java
index 7239720986..db9c31c9b0 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/application/SparkApplication.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/application/SparkApplication.java
@@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/DefaultSparkBuildJobHandler.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/DefaultSparkBuildJobHandler.java
index 4aff2c7b55..100ce5a0be 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/DefaultSparkBuildJobHandler.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/DefaultSparkBuildJobHandler.java
@@ -30,7 +30,7 @@ import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/ExecutableAddCuboidHandler.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/ExecutableAddCuboidHandler.java
index 84db20987f..0f1b68cd2d 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/ExecutableAddCuboidHandler.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/ExecutableAddCuboidHandler.java
@@ -20,7 +20,7 @@ package org.apache.kylin.engine.spark.job;
import com.google.common.base.Preconditions;
import lombok.val;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.engine.spark.merger.AfterBuildResourceMerger;
import org.apache.kylin.job.execution.DefaultExecutableOnModel;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/NSparkExecutable.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/NSparkExecutable.java
index 20a502ff9a..4370252206 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/NSparkExecutable.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/NSparkExecutable.java
@@ -237,7 +237,7 @@ public class NSparkExecutable extends AbstractExecutable implements ChainedStage
if (StringUtils.isEmpty(kylinJobJar) && !config.isUTEnv()) {
throw new RuntimeException("Missing kylin job jar");
}
- if (!config.isUTEnv()) {
+ if (!config.isDevOrUT()) {
sparkJobHandler.checkApplicationJar(config);
}
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/SparkCleanupTransactionalTableStep.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/SparkCleanupTransactionalTableStep.java
index 10974b82eb..20d0986e7f 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/SparkCleanupTransactionalTableStep.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/SparkCleanupTransactionalTableStep.java
@@ -18,7 +18,7 @@
package org.apache.kylin.engine.spark.job;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvSource.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvSource.java
index c0be9c5f69..ec0f7229d5 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvSource.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvSource.java
@@ -27,7 +27,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.JsonUtil;
import org.apache.kylin.common.util.Pair;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvTableReader.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvTableReader.java
index 9a11d1e29b..959562ca1f 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvTableReader.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/mockup/CsvTableReader.java
@@ -22,7 +22,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.metadata.model.TableDesc;
import org.apache.kylin.source.IReadableTable;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkDataSource.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkDataSource.java
index 6a501bc71e..61882f3dcb 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkDataSource.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkDataSource.java
@@ -18,7 +18,7 @@
package org.apache.kylin.engine.spark.source;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.model.IBuildable;
import org.apache.kylin.metadata.model.SegmentRange;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkMetadataExplorer.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkMetadataExplorer.java
index c037c37bfe..cf9508dec6 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkMetadataExplorer.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkMetadataExplorer.java
@@ -29,7 +29,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/analyzer/TableAnalyzerJob.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/analyzer/TableAnalyzerJob.java
index 25ef403501..a17bcf5997 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/analyzer/TableAnalyzerJob.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/analyzer/TableAnalyzerJob.java
@@ -21,7 +21,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import lombok.val;
import lombok.var;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.Path;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.transaction.UnitOfWork;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/utils/DateTimeCheckUtils.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/utils/DateTimeCheckUtils.java
index 46ea5acf79..468379c723 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/utils/DateTimeCheckUtils.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/stats/utils/DateTimeCheckUtils.java
@@ -18,7 +18,7 @@
package org.apache.kylin.engine.spark.stats.utils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
public class DateTimeCheckUtils {
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/HiveTransactionTableHelper.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/HiveTransactionTableHelper.java
index 5a65f573d5..6810e58828 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/HiveTransactionTableHelper.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/HiveTransactionTableHelper.java
@@ -27,7 +27,7 @@ import java.util.Map;
import java.util.Objects;
import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.permission.FsPermission;
diff --git a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/SparkJobFactoryUtils.java b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/SparkJobFactoryUtils.java
index 8f9c7223c3..9a666dee30 100644
--- a/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/SparkJobFactoryUtils.java
+++ b/src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/utils/SparkJobFactoryUtils.java
@@ -18,7 +18,7 @@
package org.apache.kylin.engine.spark.utils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.engine.spark.job.NSparkCubingJob;
import org.apache.kylin.engine.spark.job.NSparkCubingStep;
import org.apache.kylin.engine.spark.job.NSparkMergingJob;
diff --git a/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentBuildJob.java b/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentBuildJob.java
index 6bbf5217c7..e3c930c883 100644
--- a/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentBuildJob.java
+++ b/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentBuildJob.java
@@ -22,7 +22,7 @@ import com.google.common.base.Throwables;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.kylin.common.KylinConfig;
diff --git a/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentMergeJob.java b/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentMergeJob.java
index 08cc585aba..9bb9e12999 100644
--- a/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentMergeJob.java
+++ b/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SegmentMergeJob.java
@@ -20,7 +20,7 @@ package org.apache.kylin.engine.spark.job;
import com.google.common.base.Throwables;
import lombok.val;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.engine.spark.job.exec.MergeExec;
import org.apache.kylin.engine.spark.job.stage.BuildParam;
diff --git a/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SnapshotBuildJob.java b/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SnapshotBuildJob.java
index b1f4e13477..2202493c0c 100644
--- a/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SnapshotBuildJob.java
+++ b/src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/SnapshotBuildJob.java
@@ -22,7 +22,7 @@ import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import lombok.val;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
diff --git a/src/spark-project/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java b/src/spark-project/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java
index 4c49a82a00..55de85c6a2 100644
--- a/src/spark-project/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java
+++ b/src/spark-project/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java
@@ -21,7 +21,7 @@ import static org.apache.kylin.common.exception.ServerErrorCode.INVALID_JDBC_SOU
import java.io.IOException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.msg.MsgPicker;
diff --git a/src/spark-project/spark-common/src/main/scala/org/apache/kylin/engine/spark/job/NSparkCubingUtil.java b/src/spark-project/spark-common/src/main/scala/org/apache/kylin/engine/spark/job/NSparkCubingUtil.java
index 045850a7ef..c22178e9d7 100644
--- a/src/spark-project/spark-common/src/main/scala/org/apache/kylin/engine/spark/job/NSparkCubingUtil.java
+++ b/src/spark-project/spark-common/src/main/scala/org/apache/kylin/engine/spark/job/NSparkCubingUtil.java
@@ -28,7 +28,7 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.apache.calcite.avatica.util.Quoting;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.util.StringSplitter;
import org.apache.kylin.metadata.cube.model.IndexPlan;
diff --git a/src/spark-project/spark-common/src/main/scala/org/apache/spark/dict/NGlobalDictHDFSStore.java b/src/spark-project/spark-common/src/main/scala/org/apache/spark/dict/NGlobalDictHDFSStore.java
index db09039892..3034b2e8bc 100644
--- a/src/spark-project/spark-common/src/main/scala/org/apache/spark/dict/NGlobalDictHDFSStore.java
+++ b/src/spark-project/spark-common/src/main/scala/org/apache/spark/dict/NGlobalDictHDFSStore.java
@@ -22,7 +22,7 @@ import java.io.IOException;
import java.nio.charset.Charset;
import java.util.TreeSet;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
diff --git a/src/spark-project/spark-common/src/test/java/org/apache/kylin/common/asyncprofiler/AsyncProfilerToolTest.java b/src/spark-project/spark-common/src/test/java/org/apache/kylin/common/asyncprofiler/AsyncProfilerToolTest.java
index 2cdb832339..fe44575072 100644
--- a/src/spark-project/spark-common/src/test/java/org/apache/kylin/common/asyncprofiler/AsyncProfilerToolTest.java
+++ b/src/spark-project/spark-common/src/test/java/org/apache/kylin/common/asyncprofiler/AsyncProfilerToolTest.java
@@ -18,7 +18,7 @@
package org.apache.kylin.common.asyncprofiler;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
import org.junit.After;
import org.junit.Assert;
diff --git a/src/streaming-service/src/main/java/org/apache/kylin/rest/service/StreamingJobService.java b/src/streaming-service/src/main/java/org/apache/kylin/rest/service/StreamingJobService.java
index 3658119bcd..01e80bbe0f 100644
--- a/src/streaming-service/src/main/java/org/apache/kylin/rest/service/StreamingJobService.java
+++ b/src/streaming-service/src/main/java/org/apache/kylin/rest/service/StreamingJobService.java
@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.exception.ServerErrorCode;
diff --git a/src/streaming/src/main/java/org/apache/kylin/kafka/util/KafkaUtils.java b/src/streaming/src/main/java/org/apache/kylin/kafka/util/KafkaUtils.java
index 26bb14d07d..21eb10fe63 100644
--- a/src/streaming/src/main/java/org/apache/kylin/kafka/util/KafkaUtils.java
+++ b/src/streaming/src/main/java/org/apache/kylin/kafka/util/KafkaUtils.java
@@ -24,7 +24,7 @@ import java.nio.ByteBuffer;
import java.util.Properties;
import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.consumer.KafkaConsumer;
diff --git a/src/streaming/src/main/java/org/apache/kylin/streaming/jobs/AbstractSparkJobLauncher.java b/src/streaming/src/main/java/org/apache/kylin/streaming/jobs/AbstractSparkJobLauncher.java
index 5ebbf1fc5e..651d840caf 100644
--- a/src/streaming/src/main/java/org/apache/kylin/streaming/jobs/AbstractSparkJobLauncher.java
+++ b/src/streaming/src/main/java/org/apache/kylin/streaming/jobs/AbstractSparkJobLauncher.java
@@ -25,7 +25,7 @@ import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.HadoopUtil;
import org.apache.kylin.job.execution.JobTypeEnum;
diff --git a/src/streaming/src/main/java/org/apache/kylin/streaming/manager/StreamingJobManager.java b/src/streaming/src/main/java/org/apache/kylin/streaming/manager/StreamingJobManager.java
index 0a8f8b1a20..777a4830f5 100644
--- a/src/streaming/src/main/java/org/apache/kylin/streaming/manager/StreamingJobManager.java
+++ b/src/streaming/src/main/java/org/apache/kylin/streaming/manager/StreamingJobManager.java
@@ -20,7 +20,7 @@ package org.apache.kylin.streaming.manager;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.ResourceStore;
import org.apache.kylin.job.constant.JobStatusEnum;
diff --git a/src/streaming/src/main/java/org/apache/kylin/streaming/rest/RestSupport.java b/src/streaming/src/main/java/org/apache/kylin/streaming/rest/RestSupport.java
index 21d34f0fba..55f4529422 100644
--- a/src/streaming/src/main/java/org/apache/kylin/streaming/rest/RestSupport.java
+++ b/src/streaming/src/main/java/org/apache/kylin/streaming/rest/RestSupport.java
@@ -23,7 +23,7 @@ import java.io.Closeable;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractorTool.java b/src/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractorTool.java
index 8548fea87e..bcbc837fc5 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractorTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractorTool.java
@@ -58,7 +58,7 @@ import javax.xml.bind.DatatypeConverter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KapConfig;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinTimeoutException;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/AuditLogTool.java b/src/tool/src/main/java/org/apache/kylin/tool/AuditLogTool.java
index 7c5a34915c..66c2d6ef29 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/AuditLogTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/AuditLogTool.java
@@ -45,7 +45,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.util.ExecutableApplication;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/ClickhouseDiagTool.java b/src/tool/src/main/java/org/apache/kylin/tool/ClickhouseDiagTool.java
index a03e2dfa00..5231b36c4b 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/ClickhouseDiagTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/ClickhouseDiagTool.java
@@ -29,8 +29,8 @@ import java.util.zip.GZIPInputStream;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.CliCommandExecutor;
import org.apache.kylin.common.util.Pair;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/ConfTool.java b/src/tool/src/main/java/org/apache/kylin/tool/ConfTool.java
index 1c01adac45..852cc99a38 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/ConfTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/ConfTool.java
@@ -22,7 +22,7 @@ import java.nio.file.Files;
import java.util.Set;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.tool.util.ToolUtil;
import org.slf4j.Logger;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/DumpHadoopSystemProps.java b/src/tool/src/main/java/org/apache/kylin/tool/DumpHadoopSystemProps.java
index 862d5df713..4170bd766e 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/DumpHadoopSystemProps.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/DumpHadoopSystemProps.java
@@ -29,7 +29,7 @@ import java.util.Arrays;
import java.util.Map;
import java.util.TreeMap;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.RandomUtil;
import org.apache.kylin.common.util.Unsafe;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/JobDiagInfoTool.java b/src/tool/src/main/java/org/apache/kylin/tool/JobDiagInfoTool.java
index 2f47669fa5..17a43b59e3 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/JobDiagInfoTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/JobDiagInfoTool.java
@@ -33,7 +33,7 @@ import java.util.stream.Collectors;
import com.google.common.collect.Sets;
import org.apache.commons.cli.Option;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.exception.KylinRuntimeException;
import org.apache.kylin.common.util.OptionsHelper;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/KylinLogTool.java b/src/tool/src/main/java/org/apache/kylin/tool/KylinLogTool.java
index 612e6dc7ce..3ef20b0bbf 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/KylinLogTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/KylinLogTool.java
@@ -46,7 +46,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/daemon/KapGuardian.java b/src/tool/src/main/java/org/apache/kylin/tool/daemon/KapGuardian.java
index fab7868269..a876d2a7fe 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/daemon/KapGuardian.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/daemon/KapGuardian.java
@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
import org.apache.calcite.avatica.util.Unsafe;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ClassUtil;
import org.apache.kylin.common.util.ExecutorServiceUtil;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/obf/KylinConfObfuscator.java b/src/tool/src/main/java/org/apache/kylin/tool/obf/KylinConfObfuscator.java
index ff168842a8..9d9651a052 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/obf/KylinConfObfuscator.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/obf/KylinConfObfuscator.java
@@ -20,7 +20,7 @@ package org.apache.kylin.tool.obf;
import java.util.Map;
import java.util.Properties;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.StorageURL;
import org.apache.kylin.tool.constant.SensitiveConfigKeysConstant;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/CheckProjectModeCLI.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/CheckProjectModeCLI.java
index a68139a5ef..58ad2d14c7 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/CheckProjectModeCLI.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/CheckProjectModeCLI.java
@@ -30,7 +30,7 @@ import java.util.Locale;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ExecutableApplication;
import org.apache.kylin.common.util.OptionsHelper;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/DeleteFavoriteQueryCLI.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/DeleteFavoriteQueryCLI.java
index bba14a41c2..54200f7b86 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/DeleteFavoriteQueryCLI.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/DeleteFavoriteQueryCLI.java
@@ -27,7 +27,7 @@ import java.util.Map;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ExecutableApplication;
import org.apache.kylin.common.util.OptionsHelper;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameEntity.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameEntity.java
index 11f3f22ce6..7ab86f3217 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameEntity.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameEntity.java
@@ -23,7 +23,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Locale;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.JsonSerializer;
import org.apache.kylin.common.persistence.RawResource;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameUserResourceTool.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameUserResourceTool.java
index 015fd590c8..657153367b 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameUserResourceTool.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/RenameUserResourceTool.java
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.RawResource;
import org.apache.kylin.common.persistence.ResourceStore;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateModelCLI.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateModelCLI.java
index 972967dc59..2569a75a7e 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateModelCLI.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateModelCLI.java
@@ -30,7 +30,7 @@ import java.util.stream.Collectors;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ExecutableApplication;
import org.apache.kylin.common.util.OptionsHelper;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateProjectCLI.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateProjectCLI.java
index 42f560c163..ef8d821c0d 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateProjectCLI.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateProjectCLI.java
@@ -26,7 +26,7 @@ import java.util.Map;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ExecutableApplication;
import org.apache.kylin.common.util.OptionsHelper;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateSessionTableCLI.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateSessionTableCLI.java
index 12db92db95..586ffe5ac5 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateSessionTableCLI.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateSessionTableCLI.java
@@ -29,7 +29,7 @@ import javax.sql.DataSource;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.ExecutableApplication;
import org.apache.kylin.common.util.OptionsHelper;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateUserGroupCLI.java b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateUserGroupCLI.java
index 7b406da2cb..5859df7b10 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateUserGroupCLI.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/upgrade/UpdateUserGroupCLI.java
@@ -29,7 +29,7 @@ import java.util.List;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.exception.KylinException;
import org.apache.kylin.common.util.ExecutableApplication;
import org.apache.kylin.common.util.JsonUtil;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/util/HadoopConfExtractor.java b/src/tool/src/main/java/org/apache/kylin/tool/util/HadoopConfExtractor.java
index bc92f7f14c..9488669c27 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/util/HadoopConfExtractor.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/util/HadoopConfExtractor.java
@@ -21,7 +21,7 @@ package org.apache.kylin.tool.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.yarn.conf.HAUtil;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
diff --git a/src/tool/src/main/java/org/apache/kylin/tool/util/ServerInfoUtil.java b/src/tool/src/main/java/org/apache/kylin/tool/util/ServerInfoUtil.java
index 6a250bfddc..2047330b68 100644
--- a/src/tool/src/main/java/org/apache/kylin/tool/util/ServerInfoUtil.java
+++ b/src/tool/src/main/java/org/apache/kylin/tool/util/ServerInfoUtil.java
@@ -21,7 +21,7 @@ import java.io.File;
import java.util.List;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/tool/src/test/java/org/apache/kylin/tool/StorageCleanerTest.java b/src/tool/src/test/java/org/apache/kylin/tool/StorageCleanerTest.java
index 9315dcdb7c..5dca0c1680 100644
--- a/src/tool/src/test/java/org/apache/kylin/tool/StorageCleanerTest.java
+++ b/src/tool/src/test/java/org/apache/kylin/tool/StorageCleanerTest.java
@@ -27,7 +27,7 @@ import java.util.stream.Collectors;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.permission.FsPermission;
diff --git a/src/tool/src/test/java/org/apache/kylin/tool/garbage/SnapshotCleanerTest.java b/src/tool/src/test/java/org/apache/kylin/tool/garbage/SnapshotCleanerTest.java
index 634345c66b..90fd332091 100644
--- a/src/tool/src/test/java/org/apache/kylin/tool/garbage/SnapshotCleanerTest.java
+++ b/src/tool/src/test/java/org/apache/kylin/tool/garbage/SnapshotCleanerTest.java
@@ -21,7 +21,7 @@ package org.apache.kylin.tool.garbage;
import java.util.Set;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.metadata.model.TableDesc;
import org.apache.kylin.common.persistence.transaction.UnitOfWork;
diff --git a/src/tool/src/test/java/org/apache/kylin/tool/general/CryptToolTest.java b/src/tool/src/test/java/org/apache/kylin/tool/general/CryptToolTest.java
index ab7dd8938a..714aa9b9c4 100644
--- a/src/tool/src/test/java/org/apache/kylin/tool/general/CryptToolTest.java
+++ b/src/tool/src/test/java/org/apache/kylin/tool/general/CryptToolTest.java
@@ -23,7 +23,7 @@ import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
diff --git a/src/tool/src/test/java/org/apache/kylin/tool/upgrade/RenameUserResourceToolTest.java b/src/tool/src/test/java/org/apache/kylin/tool/upgrade/RenameUserResourceToolTest.java
index 3219873a00..bfa47ef0aa 100644
--- a/src/tool/src/test/java/org/apache/kylin/tool/upgrade/RenameUserResourceToolTest.java
+++ b/src/tool/src/test/java/org/apache/kylin/tool/upgrade/RenameUserResourceToolTest.java
@@ -24,7 +24,7 @@ import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.Locale;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.persistence.RawResource;
import org.apache.kylin.common.persistence.ResourceStore;