You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2022/05/21 17:54:14 UTC

[iotdb] 01/04: conf: udf dir

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

rong pushed a commit to branch iotdb-3250
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 5c21e9a200b67b286b1fb4894c4dd9f820d0c2e1
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Sat May 21 22:11:00 2022 +0800

    conf: udf dir
---
 .../resources/conf/iotdb-confignode.properties      | 21 +++++++++++++++++++++
 .../iotdb/confignode/conf/ConfigNodeConf.java       | 12 ++++++++++++
 .../iotdb/confignode/conf/ConfigNodeConstant.java   |  1 +
 .../iotdb/confignode/conf/ConfigNodeDescriptor.java |  2 ++
 4 files changed, 36 insertions(+)

diff --git a/confignode/src/assembly/resources/conf/iotdb-confignode.properties b/confignode/src/assembly/resources/conf/iotdb-confignode.properties
index 86ec5c1cf8..b16a399ec3 100644
--- a/confignode/src/assembly/resources/conf/iotdb-confignode.properties
+++ b/confignode/src/assembly/resources/conf/iotdb-confignode.properties
@@ -211,6 +211,27 @@ target_confignode=0.0.0.0:22277
 # If its prefix is "/", then the path is absolute. Otherwise, it is relative.
 # proc_wal_dir=data/proc
 
+
+# UDF dir
+# If this property is unset, system will save the data in the default relative path directory under
+# the UDF folder(i.e., %CONFIGNODE_HOME%/data/udf).
+#
+# If it is absolute, system will save the data in exact location it points to.
+# If it is relative, system will save the data in the relative path directory it indicates under the
+# UDF folder.
+# Note: If data_dir is assigned an empty string(i.e.,zero-size), it will be handled as a relative
+# path.
+#
+# For Window platform
+# If its prefix is a drive specifier followed by "\\", or if its prefix is "\\\\", then the path is
+# absolute. Otherwise, it is relative.
+# udf_dir=data\\udf
+#
+# For Linux platform
+# If its prefix is "/", then the path is absolute. Otherwise, it is relative.
+# udf_dir=data/udf
+
+
 ####################
 ### Procedure Configuration
 ####################
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConf.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConf.java
index 48e830d3e5..5362f9f95b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConf.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConf.java
@@ -103,6 +103,10 @@ public class ConfigNodeConf {
   private String consensusDir =
       ConfigNodeConstant.DATA_DIR + File.separator + ConfigNodeConstant.CONSENSUS_FOLDER;
 
+  /** UDF directory, storage udf metadata and jars */
+  private String udfDir =
+      ConfigNodeConstant.DATA_DIR + File.separator + ConfigNodeConstant.UDF_FOLDER;
+
   /** Time partition interval in seconds */
   private long timePartitionInterval = 604800;
 
@@ -332,6 +336,14 @@ public class ConfigNodeConf {
     this.systemDir = systemDir;
   }
 
+  public String getUdfDir() {
+    return udfDir;
+  }
+
+  public void setUdfDir(String udfDir) {
+    this.udfDir = udfDir;
+  }
+
   public int getSchemaReplicationFactor() {
     return schemaReplicationFactor;
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConstant.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConstant.java
index 6725351fd4..da179fc8a7 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConstant.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConstant.java
@@ -42,6 +42,7 @@ public class ConfigNodeConstant {
   public static final String DATA_DIR = "data";
   public static final String CONF_DIR = "conf";
   public static final String CONSENSUS_FOLDER = "consensus";
+  public static final String UDF_FOLDER = "udf";
 
   public static final int MIN_SUPPORTED_JDK_VERSION = 8;
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index 94c0848516..b5c58efd92 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -175,6 +175,8 @@ public class ConfigNodeDescriptor {
 
       conf.setConsensusDir(properties.getProperty("consensus_dir", conf.getConsensusDir()));
 
+      conf.setUdfDir(properties.getProperty("udf_dir", conf.getUdfDir()));
+
       conf.setTimePartitionInterval(
           Long.parseLong(
               properties.getProperty(