reduce lib size
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
index d842f8d..3a6da62 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
@@ -90,10 +90,11 @@
 import org.apache.iotdb.tsfile.utils.Binary;
 import org.apache.iotdb.tsfile.utils.Pair;
 
-import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.validation.constraints.NotNull;
+
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/ratis/SnapshotStorage.java b/consensus/src/main/java/org/apache/iotdb/consensus/ratis/SnapshotStorage.java
index f19faed..d54abd2 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/ratis/SnapshotStorage.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/ratis/SnapshotStorage.java
@@ -21,7 +21,7 @@
 import org.apache.iotdb.consensus.IStateMachine;
 import org.apache.iotdb.consensus.ratis.utils.Utils;
 
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.ratis.protocol.RaftGroupId;
 import org.apache.ratis.server.protocol.TermIndex;
 import org.apache.ratis.server.storage.FileInfo;
diff --git a/integration-test/src/main/java/org/apache/iotdb/it/framework/IoTDBTestStat.java b/integration-test/src/main/java/org/apache/iotdb/it/framework/IoTDBTestStat.java
index 5650724..8d5ca31 100644
--- a/integration-test/src/main/java/org/apache/iotdb/it/framework/IoTDBTestStat.java
+++ b/integration-test/src/main/java/org/apache/iotdb/it/framework/IoTDBTestStat.java
@@ -18,7 +18,9 @@
  */
 package org.apache.iotdb.it.framework;
 
-import org.jetbrains.annotations.NotNull;
+import javax.validation.constraints.NotNull;
+
+import java.util.Objects;
 
 public class IoTDBTestStat implements Comparable<IoTDBTestStat> {
   private final String name;
@@ -36,6 +38,23 @@
   }
 
   @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+    IoTDBTestStat that = (IoTDBTestStat) o;
+    return Double.compare(that.seconds, seconds) == 0 && Objects.equals(name, that.name);
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(name, seconds);
+  }
+
+  @Override
   public String toString() {
     return String.format("%.3f\t%s", seconds, name);
   }
diff --git a/iotdb-connector/hadoop/pom.xml b/iotdb-connector/hadoop/pom.xml
index f191f97..0ab40df 100644
--- a/iotdb-connector/hadoop/pom.xml
+++ b/iotdb-connector/hadoop/pom.xml
@@ -63,12 +63,6 @@
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
             <version>1.6</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-lang</groupId>
-                    <artifactId>commons-lang</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <!-- many of hadoop dependencies use guava11, but org.apache.curator from hadoop-common uses
         guava16 -->
diff --git a/iotdb-connector/hive-connector/pom.xml b/iotdb-connector/hive-connector/pom.xml
index 7b0b633..3c4729d 100644
--- a/iotdb-connector/hive-connector/pom.xml
+++ b/iotdb-connector/hive-connector/pom.xml
@@ -96,10 +96,6 @@
                     <groupId>com.google.guava</groupId>
                     <artifactId>guava</artifactId>
                 </exclusion>
-                <exclusion>
-                    <groupId>commons-lang</groupId>
-                    <artifactId>commons-lang</artifactId>
-                </exclusion>
             </exclusions>
         </dependency>
     </dependencies>
diff --git a/library-udf/pom.xml b/library-udf/pom.xml
index b82c612..c6c3e82 100644
--- a/library-udf/pom.xml
+++ b/library-udf/pom.xml
@@ -68,12 +68,6 @@
             <version>0.0.6</version>
         </dependency>
         <dependency>
-            <groupId>org.jetbrains</groupId>
-            <artifactId>annotations</artifactId>
-            <version>23.0.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.iotdb</groupId>
             <artifactId>udf-api</artifactId>
             <version>${project.version}</version>
diff --git a/node-commons/pom.xml b/node-commons/pom.xml
index e312dda..7e20117 100644
--- a/node-commons/pom.xml
+++ b/node-commons/pom.xml
@@ -79,11 +79,6 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/path/fa/dfa/graph/NFAGraph.java b/node-commons/src/main/java/org/apache/iotdb/commons/path/fa/dfa/graph/NFAGraph.java
index 47020e6..fa62991 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/path/fa/dfa/graph/NFAGraph.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/path/fa/dfa/graph/NFAGraph.java
@@ -25,7 +25,7 @@
 import org.apache.iotdb.commons.path.fa.dfa.DFAState;
 import org.apache.iotdb.commons.utils.TestOnly;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/pom.xml b/pom.xml
index d7da67d..0fea6ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -142,7 +142,6 @@
         <commons.collections4>4.4</commons.collections4>
         <!-- keep consistent with client-cpp/tools/thrift/pom.xml-->
         <thrift.version>0.14.1</thrift.version>
-        <airline.version>0.8</airline.version>
         <jackson.version>2.13.5</jackson.version>
         <disrupter.version>3.4.2</disrupter.version>
         <jackson.databind.version>2.13.4.2</jackson.databind.version>
@@ -225,7 +224,6 @@
         <!-- caffeine cache -->
         <caffeine>2.9.3</caffeine>
         <commons-csv.version>1.9.0</commons-csv.version>
-        <commons-lang.version>2.6</commons-lang.version>
         <influxdb-java.version>2.21</influxdb-java.version>
         <JTransforms.version>3.1</JTransforms.version>
         <xz.version>1.9</xz.version>
@@ -531,11 +529,6 @@
             </dependency>
             <dependency>
                 <groupId>io.airlift</groupId>
-                <artifactId>airline</artifactId>
-                <version>${airline.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.airlift</groupId>
                 <artifactId>slice</artifactId>
                 <version>${io.airlift.slice.version}</version>
             </dependency>
@@ -545,11 +538,6 @@
                 <version>${dep.airlift.version}</version>
             </dependency>
             <dependency>
-                <groupId>io.airlift</groupId>
-                <artifactId>concurrent</artifactId>
-                <version>${dep.airlift.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.openjdk.jol</groupId>
                 <artifactId>jol-core</artifactId>
                 <version>${jol-core.version}</version>
@@ -628,11 +616,6 @@
                 <version>${commons-csv.version}</version>
             </dependency>
             <dependency>
-                <groupId>commons-lang</groupId>
-                <artifactId>commons-lang</artifactId>
-                <version>${commons-lang.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.influxdb</groupId>
                 <artifactId>influxdb-java</artifactId>
                 <version>${influxdb-java.version}</version>
@@ -1243,10 +1226,6 @@
                     <groupId>javax.xml.bind</groupId>
                     <artifactId>jaxb-api</artifactId>
                 </dependency>
-                <dependency>
-                    <groupId>org.glassfish.jaxb</groupId>
-                    <artifactId>jaxb-runtime</artifactId>
-                </dependency>
             </dependencies>
         </profile>
         <!-- Add argLine for Java 16 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default]
diff --git a/server/pom.xml b/server/pom.xml
index 691cab2..313a305 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -33,7 +33,6 @@
         <iotdb.test.skip>false</iotdb.test.skip>
         <iotdb.it.skip>${iotdb.test.skip}</iotdb.it.skip>
         <iotdb.ut.skip>${iotdb.test.skip}</iotdb.ut.skip>
-        <jjwt-api.version>0.10.8</jjwt-api.version>
         <oauth2-oidc-sdk.version>8.3</oauth2-oidc-sdk.version>
         <tomcat-embed-core.version>10.1.0-M1</tomcat-embed-core.version>
     </properties>
@@ -97,20 +96,6 @@
             <artifactId>stats</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.airlift</groupId>
-            <artifactId>airline</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.code.findbugs</groupId>
-                    <artifactId>jsr305</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.airlift</groupId>
-            <artifactId>concurrent</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-server</artifactId>
         </dependency>
@@ -210,14 +195,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.iotdb</groupId>
             <artifactId>node-commons</artifactId>
             <version>${project.version}</version>
diff --git a/server/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java b/server/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java
index 33a2095..661bbe7 100644
--- a/server/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java
+++ b/server/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java
@@ -22,7 +22,6 @@
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.cache.DataNodeDevicePathCache;
 import org.apache.iotdb.db.mpp.plan.Coordinator;
 import org.apache.iotdb.db.mpp.plan.analyze.ClusterPartitionFetcher;
@@ -33,14 +32,14 @@
 import org.apache.iotdb.db.query.control.clientsession.ClientSession;
 import org.apache.iotdb.db.query.control.clientsession.IClientSession;
 import org.apache.iotdb.db.utils.DateTimeUtils;
-import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
-import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.validation.constraints.NotNull;
+
 import java.util.List;
 
 import static org.apache.iotdb.db.sync.pipedata.load.ILoader.SCHEMA_FETCHER;
@@ -72,8 +71,7 @@
 
   @NotNull
   private static InsertRowStatement generateInsertStatement(
-      String log, String address, String username)
-      throws IoTDBConnectionException, IllegalPathException, QueryProcessException {
+      String log, String address, String username) throws IllegalPathException {
     InsertRowStatement insertStatement = new InsertRowStatement();
     insertStatement.setDevicePath(
         DEVICE_PATH_CACHE.getPartialPath(String.format(AUDIT_LOG_DEVICE, username)));
@@ -110,7 +108,7 @@
               "",
               ClusterPartitionFetcher.getInstance(),
               SCHEMA_FETCHER);
-        } catch (IllegalPathException | IoTDBConnectionException | QueryProcessException e) {
+        } catch (IllegalPathException e) {
           logger.error("write audit log series error,", e);
         }
       }
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/FakeCRC32Deserializer.java b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/FakeCRC32Deserializer.java
index 40a6f0c..7d1fcb8 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/FakeCRC32Deserializer.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/FakeCRC32Deserializer.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.db.metadata.logfile;
 
-import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.annotation.concurrent.NotThreadSafe;
+import javax.validation.constraints.NotNull;
 
 import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/SchemaLogReader.java b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/SchemaLogReader.java
index 667af50..c4cd8b6 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/SchemaLogReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/SchemaLogReader.java
@@ -22,10 +22,11 @@
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
-import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.validation.constraints.NotNull;
+
 import java.io.BufferedInputStream;
 import java.io.EOFException;
 import java.io.File;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/schemafile/container/CachedMNodeContainer.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/schemafile/container/CachedMNodeContainer.java
index aed2ae4..efbd565 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/schemafile/container/CachedMNodeContainer.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/schemafile/container/CachedMNodeContainer.java
@@ -21,10 +21,9 @@
 import org.apache.iotdb.commons.schema.node.utils.IMNodeContainer;
 import org.apache.iotdb.db.metadata.mnode.schemafile.ICachedMNode;
 
-import org.jetbrains.annotations.NotNull;
-
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
+import javax.validation.constraints.NotNull;
 
 import java.util.AbstractMap;
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTaskId.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTaskId.java
index e37fd8c..763213a 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTaskId.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTaskId.java
@@ -24,7 +24,7 @@
 import org.apache.iotdb.db.mpp.common.QueryId;
 import org.apache.iotdb.db.mpp.execution.schedule.queue.ID;
 
-import org.jetbrains.annotations.NotNull;
+import javax.validation.constraints.NotNull;
 
 import java.util.Objects;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java
index 20a4aa9..6d4a838 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java
@@ -21,8 +21,6 @@
 
 import org.apache.iotdb.commons.exception.IoTDBException;
 import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.db.conf.IoTDBConfig;
-import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.mpp.common.MPPQueryContext;
 import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
 import org.apache.iotdb.db.mpp.execution.QueryStateMachine;
@@ -41,11 +39,12 @@
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
-import jersey.repackaged.com.google.common.util.concurrent.SettableFuture;
-import org.jetbrains.annotations.NotNull;
+import com.google.common.util.concurrent.SettableFuture;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.validation.constraints.NotNull;
+
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Optional;
@@ -56,8 +55,6 @@
 
   private static final Logger LOGGER = LoggerFactory.getLogger(ConfigExecution.class);
 
-  private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
-
   private final MPPQueryContext context;
   private final ExecutorService executor;
 
@@ -145,13 +142,19 @@
   }
 
   @Override
-  public void stop(Throwable t) {}
+  public void stop(Throwable t) {
+    // do nothing
+  }
 
   @Override
-  public void stopAndCleanup() {}
+  public void stopAndCleanup() {
+    // do nothing
+  }
 
   @Override
-  public void stopAndCleanup(Throwable t) {}
+  public void stopAndCleanup(Throwable t) {
+    // do nothing
+  }
 
   @Override
   public void cancel() {
@@ -168,10 +171,12 @@
       String message =
           statusCode == TSStatusCode.SUCCESS_STATUS ? "" : stateMachine.getFailureMessage();
       return new ExecutionResult(context.getQueryId(), RpcUtils.getStatus(statusCode, message));
-    } catch (InterruptedException | ExecutionException e) {
-      if (e instanceof InterruptedException) {
-        Thread.currentThread().interrupt();
-      }
+    } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
+      return new ExecutionResult(
+          context.getQueryId(),
+          RpcUtils.getStatus(TSStatusCode.QUERY_PROCESS_ERROR, e.getMessage()));
+    } catch (ExecutionException e) {
       return new ExecutionResult(
           context.getQueryId(),
           RpcUtils.getStatus(TSStatusCode.QUERY_PROCESS_ERROR, e.getMessage()));
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java
index 708e55e..d3f41d5 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java
@@ -28,7 +28,7 @@
 import org.apache.iotdb.db.mpp.plan.expression.visitor.ExpressionVisitor;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
-import org.jetbrains.annotations.NotNull;
+import javax.validation.constraints.NotNull;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
index f2d19fe..53b6629 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
@@ -99,7 +99,7 @@
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 
 import com.google.common.base.Function;
-import org.apache.commons.lang.Validate;
+import org.apache.commons.lang3.Validate;
 
 import java.time.ZoneId;
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
index f527232..86d9af5 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
@@ -40,13 +40,13 @@
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.load.LoadTsFilePieceNode;
 import org.apache.iotdb.db.mpp.plan.scheduler.FragInstanceDispatchResult;
 import org.apache.iotdb.db.mpp.plan.scheduler.IFragInstanceDispatcher;
+import org.apache.iotdb.db.utils.SetThreadName;
 import org.apache.iotdb.mpp.rpc.thrift.TLoadCommandReq;
 import org.apache.iotdb.mpp.rpc.thrift.TLoadResp;
 import org.apache.iotdb.mpp.rpc.thrift.TTsFilePieceReq;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 
-import io.airlift.concurrent.SetThreadName;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/connector/lagacy/IoTDBSyncConnectorImplV1_1.java b/server/src/main/java/org/apache/iotdb/db/pipe/connector/lagacy/IoTDBSyncConnectorImplV1_1.java
index 3099cf0..aa75b89 100644
--- a/server/src/main/java/org/apache/iotdb/db/pipe/connector/lagacy/IoTDBSyncConnectorImplV1_1.java
+++ b/server/src/main/java/org/apache/iotdb/db/pipe/connector/lagacy/IoTDBSyncConnectorImplV1_1.java
@@ -47,7 +47,7 @@
 import org.apache.iotdb.service.rpc.thrift.TSyncTransportMetaInfo;
 import org.apache.iotdb.session.pool.SessionPool;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java
index 3e1e0db..4b347b0 100644
--- a/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java
+++ b/server/src/main/java/org/apache/iotdb/db/pipe/connector/v1/IoTDBThriftConnectorV1.java
@@ -48,7 +48,7 @@
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.service.rpc.thrift.TPipeTransferResp;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeConnectorSubtask.java b/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeConnectorSubtask.java
index ce2b640..d8314ee 100644
--- a/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeConnectorSubtask.java
+++ b/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeConnectorSubtask.java
@@ -30,10 +30,11 @@
 import org.apache.iotdb.pipe.api.exception.PipeConnectionException;
 import org.apache.iotdb.pipe.api.exception.PipeException;
 
-import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.validation.constraints.NotNull;
+
 public class PipeConnectorSubtask extends PipeSubtask {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(PipeConnectorSubtask.class);
diff --git a/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeSubtask.java b/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeSubtask.java
index 9f5c6e4..8dbf90d 100644
--- a/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeSubtask.java
+++ b/server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeSubtask.java
@@ -29,10 +29,11 @@
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.ListeningExecutorService;
-import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.validation.constraints.NotNull;
+
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.atomic.AtomicBoolean;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/control/SessionManager.java b/server/src/main/java/org/apache/iotdb/db/query/control/SessionManager.java
index 005d6f4..0c1407f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/control/SessionManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/control/SessionManager.java
@@ -42,7 +42,7 @@
 import org.apache.iotdb.service.rpc.thrift.TSConnectionInfoResp;
 import org.apache.iotdb.service.rpc.thrift.TSProtocolVersion;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
index 83baf24..3b034bc 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
@@ -18,30 +18,20 @@
  */
 package org.apache.iotdb.db.utils;
 
-import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.constant.SqlConstant;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
-import com.google.common.base.Throwables;
-import io.airlift.airline.Cli;
-import io.airlift.airline.Help;
-import io.airlift.airline.ParseArgumentsMissingException;
-import io.airlift.airline.ParseArgumentsUnexpectedException;
-import io.airlift.airline.ParseCommandMissingException;
-import io.airlift.airline.ParseCommandUnrecognizedException;
-import io.airlift.airline.ParseOptionConversionException;
-import io.airlift.airline.ParseOptionMissingException;
-import io.airlift.airline.ParseOptionMissingValueException;
 import org.apache.commons.lang3.StringUtils;
 
 import java.util.Arrays;
-import java.util.List;
 
 @SuppressWarnings("java:S106") // for console outputs
 public class CommonUtils {
 
+  private static final String ERROR_MSG = "data type is not consistent, input %s, registered %s";
+
   private CommonUtils() {}
 
   public static Object parseValue(TSDataType dataType, String value) throws QueryProcessException {
@@ -53,78 +43,54 @@
         case BOOLEAN:
           return parseBoolean(value);
         case INT32:
-          try {
-            return Integer.parseInt(StringUtils.trim(value));
-          } catch (NumberFormatException e) {
-            throw new NumberFormatException(
-                "data type is not consistent, input " + value + ", registered " + dataType);
-          }
+          return Integer.parseInt(StringUtils.trim(value));
         case INT64:
-          try {
-            return Long.parseLong(StringUtils.trim(value));
-          } catch (NumberFormatException e) {
-            throw new NumberFormatException(
-                "data type is not consistent, input " + value + ", registered " + dataType);
-          }
+          return Long.parseLong(StringUtils.trim(value));
         case FLOAT:
-          float f;
-          try {
-            f = Float.parseFloat(value);
-          } catch (NumberFormatException e) {
-            throw new NumberFormatException(
-                "data type is not consistent, input " + value + ", registered " + dataType);
-          }
+          float f = Float.parseFloat(value);
           if (Float.isInfinite(f)) {
-            throw new NumberFormatException("The input float value is Infinity");
+            throw new QueryProcessException("The input float value is Infinity");
           }
           return f;
         case DOUBLE:
-          double d;
-          try {
-            d = Double.parseDouble(value);
-          } catch (NumberFormatException e) {
-            throw new NumberFormatException(
-                "data type is not consistent, input " + value + ", registered " + dataType);
-          }
+          double d = Double.parseDouble(value);
           if (Double.isInfinite(d)) {
-            throw new NumberFormatException("The input double value is Infinity");
+            throw new QueryProcessException("The input double value is Infinity");
           }
           return d;
         case TEXT:
-          if ((value.startsWith(SqlConstant.QUOTE) && value.endsWith(SqlConstant.QUOTE))
-              || (value.startsWith(SqlConstant.DQUOTE) && value.endsWith(SqlConstant.DQUOTE))) {
-            if (value.length() == 1) {
-              return new Binary(value);
-            } else {
-              return new Binary(value.substring(1, value.length() - 1));
-            }
-          }
-
-          return new Binary(value);
+          return parseBinary(value);
         default:
           throw new QueryProcessException("Unsupported data type:" + dataType);
       }
     } catch (NumberFormatException e) {
-      throw new QueryProcessException(e.getMessage());
+      throw new QueryProcessException(String.format(ERROR_MSG, value, dataType));
     }
   }
 
+  private static Binary parseBinary(String value) {
+    if ((value.startsWith(SqlConstant.QUOTE) && value.endsWith(SqlConstant.QUOTE))
+        || (value.startsWith(SqlConstant.DQUOTE) && value.endsWith(SqlConstant.DQUOTE))) {
+      if (value.length() == 1) {
+        return new Binary(value);
+      } else {
+        return new Binary(value.substring(1, value.length() - 1));
+      }
+    }
+
+    return new Binary(value);
+  }
+
   public static boolean checkCanCastType(TSDataType src, TSDataType dest) {
     switch (src) {
       case INT32:
-        if (dest == TSDataType.INT64 || dest == TSDataType.FLOAT || dest == TSDataType.DOUBLE) {
-          return true;
-        }
+        return dest == TSDataType.INT64 || dest == TSDataType.FLOAT || dest == TSDataType.DOUBLE;
       case INT64:
-        if (dest == TSDataType.DOUBLE) {
-          return true;
-        }
       case FLOAT:
-        if (dest == TSDataType.DOUBLE) {
-          return true;
-        }
+        return dest == TSDataType.DOUBLE;
+      default:
+        return false;
     }
-    return false;
   }
 
   public static Object castValue(TSDataType srcDataType, TSDataType destDataType, Object value) {
@@ -137,19 +103,20 @@
         } else if (destDataType == TSDataType.DOUBLE) {
           value = (double) ((int) value);
         }
-        break;
+        return value;
       case INT64:
         if (destDataType == TSDataType.DOUBLE) {
           value = (double) ((long) value);
         }
-        break;
+        return value;
       case FLOAT:
         if (destDataType == TSDataType.DOUBLE) {
           value = (double) ((float) value);
         }
-        break;
+        return value;
+      default:
+        return value;
     }
-    return value;
   }
 
   public static Object castArray(TSDataType srcDataType, TSDataType destDataType, Object value) {
@@ -167,12 +134,12 @@
         } else if (destDataType == TSDataType.DOUBLE) {
           value = Arrays.stream((int[]) value).mapToDouble(Double::valueOf).toArray();
         }
-        break;
+        return value;
       case INT64:
         if (destDataType == TSDataType.DOUBLE) {
           value = Arrays.stream((long[]) value).mapToDouble(Double::valueOf).toArray();
         }
-        break;
+        return value;
       case FLOAT:
         if (destDataType == TSDataType.DOUBLE) {
           float[] tmp = (float[]) value;
@@ -182,33 +149,9 @@
           }
           value = result;
         }
-        break;
-    }
-    return value;
-  }
-
-  @TestOnly
-  public static Object parseValueForTest(TSDataType dataType, String value)
-      throws QueryProcessException {
-    try {
-      switch (dataType) {
-        case BOOLEAN:
-          return parseBoolean(value);
-        case INT32:
-          return Integer.parseInt(value);
-        case INT64:
-          return Long.parseLong(value);
-        case FLOAT:
-          return Float.parseFloat(value);
-        case DOUBLE:
-          return Double.parseDouble(value);
-        case TEXT:
-          return new Binary(value);
-        default:
-          throw new QueryProcessException("Unsupported data type:" + dataType);
-      }
-    } catch (NumberFormatException e) {
-      throw new QueryProcessException(e.getMessage());
+        return value;
+      default:
+        return value;
     }
   }
 
@@ -222,48 +165,4 @@
     }
     throw new QueryProcessException("The BOOLEAN should be true/TRUE, false/FALSE or 0/1");
   }
-
-  public static int runCli(
-      List<Class<? extends Runnable>> commands,
-      String[] args,
-      String cliName,
-      String cliDescription) {
-    Cli.CliBuilder<Runnable> builder = Cli.builder(cliName);
-
-    builder.withDescription(cliDescription).withDefaultCommand(Help.class).withCommands(commands);
-
-    Cli<Runnable> parser = builder.build();
-
-    int status = 0;
-    try {
-      Runnable parse = parser.parse(args);
-      parse.run();
-    } catch (IllegalArgumentException
-        | IllegalStateException
-        | ParseArgumentsMissingException
-        | ParseArgumentsUnexpectedException
-        | ParseOptionConversionException
-        | ParseOptionMissingException
-        | ParseOptionMissingValueException
-        | ParseCommandMissingException
-        | ParseCommandUnrecognizedException e) {
-      badUse(e);
-      status = 1;
-    } catch (Exception e) {
-      err(Throwables.getRootCause(e));
-      status = 2;
-    }
-    return status;
-  }
-
-  private static void badUse(Exception e) {
-    System.out.println("node-tool: " + e.getMessage());
-    System.out.println("See 'node-tool help' or 'node-tool help <command>'.");
-  }
-
-  private static void err(Throwable e) {
-    System.err.println("error: " + e.getMessage());
-    System.err.println("-- StackTrace --");
-    System.err.println(Throwables.getStackTraceAsString(e));
-  }
 }
diff --git a/tsfile/pom.xml b/tsfile/pom.xml
index e651a44..3abdc02 100644
--- a/tsfile/pom.xml
+++ b/tsfile/pom.xml
@@ -68,6 +68,7 @@
         <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.openjdk.jol</groupId>