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); }
