You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2024/01/31 10:04:56 UTC
(iotdb) 01/01: support for derby
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 <ja...@gmail.com>
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);
}