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

jackietien pushed a commit to branch RevertRemove
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit ac199a21bead2a0712844b9d343c2fd0ed2a798a
Author: JackieTien97 <[email protected]>
AuthorDate: Mon Aug 21 20:07:34 2023 +0800

    Revert removed dependencies to avoid write performance declining
---
 LICENSE-binary                                     |  2 +
 iotdb-core/datanode/pom.xml                        | 14 +++++++
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |  2 +-
 .../org/apache/iotdb/db/utils/CommonUtils.java     | 43 ++++++++++++++++++++++
 pom.xml                                            | 27 ++++++++++++++
 5 files changed, 87 insertions(+), 1 deletion(-)

diff --git a/LICENSE-binary b/LICENSE-binary
index d0f43b2683c..82b6baeea32 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -268,6 +268,7 @@ org.osgi:org.osgi.core:6.0.0
 org.osgi:osgi.cmpn:6.0.0
 org.ops4j.pax.jdbc:pax-jdbc-common:1.4.5
 org.xerial.snappy:snappy-java:1.1.8.4
+io.airlift.airline:0.8
 net.minidev:accessors-smart:1.2
 
 
@@ -303,6 +304,7 @@ CDDL 1.1
 javax.annotation:javax.annotation-api:1.3.2
 javax.servlet:javax.servlet-api:3.1.0
 javax.xml.bind:jaxb-api:2.4.0-b180725.0427
+org.glassfish.jaxb:jaxb-runtime:2.4.0-b180725.0644
 
 
 Public Domain
diff --git a/iotdb-core/datanode/pom.xml b/iotdb-core/datanode/pom.xml
index 994f9e1dbc2..3f04bf95a0e 100644
--- a/iotdb-core/datanode/pom.xml
+++ b/iotdb-core/datanode/pom.xml
@@ -223,6 +223,20 @@
             <groupId>io.airlift</groupId>
             <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>
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/load/LoadTsFileDispatcherImpl.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/load/LoadTsFileDispatcherImpl.java
index 6b44d68d75b..620920a01a8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/load/LoadTsFileDispatcherImpl.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/load/LoadTsFileDispatcherImpl.java
@@ -40,13 +40,13 @@ import 
org.apache.iotdb.db.queryengine.plan.planner.plan.node.load.LoadTsFilePie
 import 
org.apache.iotdb.db.queryengine.plan.scheduler.FragInstanceDispatchResult;
 import org.apache.iotdb.db.queryengine.plan.scheduler.IFragInstanceDispatcher;
 import org.apache.iotdb.db.storageengine.StorageEngine;
-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/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
index 8c93bacb3f8..de6d3cec39f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/CommonUtils.java
@@ -25,9 +25,19 @@ 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 {
@@ -213,6 +223,39 @@ public class CommonUtils {
     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>'.");
diff --git a/pom.xml b/pom.xml
index 9d6999244fb..307d087f705 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,6 +112,7 @@
             we'll stay at 0.14.1.
         -->
         <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>
@@ -165,6 +166,7 @@
         <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
         <log4j.version>1.2.24</log4j.version>
         <lz4-java.version>1.8.0</lz4-java.version>
+        <jaxb-runtime.version>3.0.2</jaxb-runtime.version>
         <mockito-core.version>2.23.4</mockito-core.version>
         <objenesis.version>3.2</objenesis.version>
         <powermock-core.version>2.0.9</powermock-core.version>
@@ -395,6 +397,22 @@
                 <artifactId>jackson-core-asl</artifactId>
                 <version>${jackson-core-asl.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.glassfish.jaxb</groupId>
+                <artifactId>jaxb-runtime</artifactId>
+                <version>${jaxb-runtime.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>jakarta.activation</groupId>
+                        <artifactId>jakarta.activation-api</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <!--            <dependency>
+                <groupId>org.javassist</groupId>
+                <artifactId>javassist</artifactId>
+                <version>3.24.1-GA</version>
+            </dependency>-->
             <dependency>
                 <groupId>org.mockito</groupId>
                 <artifactId>mockito-core</artifactId>
@@ -486,6 +504,11 @@
                 <artifactId>units</artifactId>
                 <version>${io.airlift.units.version}</version>
             </dependency>
+            <dependency>
+                <groupId>io.airlift</groupId>
+                <artifactId>airline</artifactId>
+                <version>${airline.version}</version>
+            </dependency>
             <dependency>
                 <groupId>io.airlift</groupId>
                 <artifactId>slice</artifactId>
@@ -1203,6 +1226,10 @@
                     <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]

Reply via email to