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

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

commit 38f41b3397c3468c1f59ddb3a5beb0636253dd4d
Author: JackieTien97 <[email protected]>
AuthorDate: Wed Jan 31 11:03:48 2024 +0800

    support for derby
---
 iotdb-core/datanode/pom.xml                                  |  7 +++++++
 .../src/main/java/org/apache/iotdb/db/service/DataNode.java  | 12 +++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/iotdb-core/datanode/pom.xml b/iotdb-core/datanode/pom.xml
index 9c1e227c44a..60587876223 100644
--- a/iotdb-core/datanode/pom.xml
+++ b/iotdb-core/datanode/pom.xml
@@ -119,6 +119,13 @@
             <artifactId>iotdb-session</artifactId>
             <version>1.3.1-SNAPSHOT</version>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/org.apache.derby/derby -->
+        <!-- https://mvnrepository.com/artifact/org.apache.derby/derbynet -->
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbynet</artifactId>
+            <version>10.14.2.0</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-collections4</artifactId>
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
index 6c7110ffda5..2fcc84c39b8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -88,12 +88,14 @@ import org.apache.iotdb.metrics.utils.InternalReporterType;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.udf.api.exception.UDFManagementException;
 
+import org.apache.derby.drda.NetworkServerControl;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
+import java.net.InetAddress;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
@@ -120,6 +122,9 @@ public class DataNode implements DataNodeMBean {
       SystemFileFactory.INSTANCE.getFile(
           config.getSystemDir() + File.separator + 
IoTDBStartCheck.PROPERTIES_FILE_NAME);
 
+  // start Derby
+  private static NetworkServerControl serverControl;
+
   /**
    * When joining a cluster or getting configuration this node will retry at 
most "DEFAULT_RETRY"
    * times before returning a failure to the client.
@@ -154,10 +159,12 @@ public class DataNode implements DataNodeMBean {
     return DataNodeHolder.INSTANCE;
   }
 
-  public static void main(String[] args) {
+  public static void main(String[] args) throws Exception {
     logger.info("IoTDB-DataNode environment variables: {}", 
IoTDBConfig.getEnvironmentVariables());
     logger.info("IoTDB-DataNode default charset is: {}", 
Charset.defaultCharset().displayName());
     new DataNodeServerCommandLine().doMain(args);
+    serverControl = new 
NetworkServerControl(InetAddress.getByName("127.0.0.1"), 1527);
+    serverControl.start(null);
   }
 
   protected void doAddNode() {
@@ -917,6 +924,9 @@ public class DataNode implements DataNodeMBean {
       if (dataRegionConsensusStarted) {
         DataRegionConsensusImpl.getInstance().stop();
       }
+      if (serverControl != null) {
+        serverControl.shutdown();
+      }
     } catch (Exception e) {
       logger.error("Stop data node error", e);
     }

Reply via email to