You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2022/12/01 02:01:27 UTC

[iotdb] 07/09: add config

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

hui pushed a commit to branch lmh/FixIntoOperator1.0
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit e3582f766d0e596c37247ba0e2dff961329c8ba1
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Wed Nov 30 19:41:45 2022 +0800

    add config
---
 docs/UserGuide/Reference/Common-Config-Manual.md         |  9 +++++++++
 docs/zh/UserGuide/Reference/Common-Config-Manual.md      |  9 +++++++++
 .../src/assembly/resources/conf/iotdb-common.properties  |  4 ++++
 .../main/java/org/apache/iotdb/db/conf/IoTDBConfig.java  | 16 ++++++----------
 .../java/org/apache/iotdb/db/conf/IoTDBDescriptor.java   | 11 +++++------
 .../mpp/execution/fragment/FragmentInstanceManager.java  |  2 +-
 6 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/docs/UserGuide/Reference/Common-Config-Manual.md b/docs/UserGuide/Reference/Common-Config-Manual.md
index 504824ccdc..c75c4ac14e 100644
--- a/docs/UserGuide/Reference/Common-Config-Manual.md
+++ b/docs/UserGuide/Reference/Common-Config-Manual.md
@@ -1384,6 +1384,15 @@ Different configuration parameters take effect in the following three ways:
 |   Default   | 10000                                                        |
 |  Effective  | hot-load                                                      |
 
+* into\_operation\_execution\_thread\_count
+
+|    Name     | into\_operation\_execution\_thread\_count                     |
+| :---------: | :------------------------------------------------------------ |
+| Description | The number of threads in the thread pool that execute insert-tablet tasks |
+|    Type     | int32                                                         |
+|   Default   | 2                                                             |
+|  Effective  | After restarting system                                       |
+
 ### Continuous Query
 
 * continuous\_query\_execution\_thread
diff --git a/docs/zh/UserGuide/Reference/Common-Config-Manual.md b/docs/zh/UserGuide/Reference/Common-Config-Manual.md
index 3fa5556310..e842f67bef 100644
--- a/docs/zh/UserGuide/Reference/Common-Config-Manual.md
+++ b/docs/zh/UserGuide/Reference/Common-Config-Manual.md
@@ -1428,6 +1428,15 @@ IoTDB ConfigNode 和 DataNode 的公共配置参数位于 `conf` 目录下。
 |    默认值    | 10000                                                        |
 | 改后生效方式 | 热加载                                                     |
 
+* into\_operation\_execution\_thread\_count
+
+|     名字     | into\_operation\_execution\_thread\_count |
+| :---------: | :---------------------------------------- |
+|     描述     | SELECT INTO 中执行写入任务的线程池的线程数      |
+|     类型     | int32                                     |
+|    默认值    | 2                                         |
+| 改后生效方式  | 重启服务生效                                 |
+
 ### 连续查询配置
 
 * continuous\_query\_submit\_thread\_count
diff --git a/node-commons/src/assembly/resources/conf/iotdb-common.properties b/node-commons/src/assembly/resources/conf/iotdb-common.properties
index 930ab46ba2..b6689c3c1d 100644
--- a/node-commons/src/assembly/resources/conf/iotdb-common.properties
+++ b/node-commons/src/assembly/resources/conf/iotdb-common.properties
@@ -877,6 +877,10 @@
 # Datatype: int
 # select_into_insert_tablet_plan_row_limit=10000
 
+# The number of threads in the thread pool that execute insert-tablet tasks
+# Datatype: int
+# into_operation_execution_thread_count=2
+
 ####################
 ### Continuous Query Configuration
 ####################
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 92abf21537..99dcf1b865 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -685,12 +685,8 @@ public class IoTDBConfig {
    */
   private int selectIntoInsertTabletPlanRowLimit = 10000;
 
-  /**
-   * How many thread will be set up to execute into operation. When <= 0, use max(1, CPU core number
-   * / 2).
-   */
-  private int intoOperationSubmitThreadCount =
-      Math.max(1, Runtime.getRuntime().availableProcessors() / 2);
+  /** The number of threads in the thread pool that execute insert-tablet tasks. */
+  private int intoOperationExecutionThreadCount = 2;
 
   /** Default TSfile storage is in local file system */
   private FSType tsFileStorageFs = FSType.LOCAL;
@@ -1909,12 +1905,12 @@ public class IoTDBConfig {
     return selectIntoInsertTabletPlanRowLimit;
   }
 
-  public int getIntoOperationSubmitThreadCount() {
-    return intoOperationSubmitThreadCount;
+  public int getIntoOperationExecutionThreadCount() {
+    return intoOperationExecutionThreadCount;
   }
 
-  public void setIntoOperationSubmitThreadCount(int intoOperationSubmitThreadCount) {
-    this.intoOperationSubmitThreadCount = intoOperationSubmitThreadCount;
+  public void setIntoOperationExecutionThreadCount(int intoOperationExecutionThreadCount) {
+    this.intoOperationExecutionThreadCount = intoOperationExecutionThreadCount;
   }
 
   public int getCompactionWriteThroughputMbPerSec() {
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 9bab834045..7a25d6d21f 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -903,14 +903,13 @@ public class IoTDBDescriptor {
             properties.getProperty(
                 "select_into_insert_tablet_plan_row_limit",
                 String.valueOf(conf.getSelectIntoInsertTabletPlanRowLimit()))));
-    conf.setIntoOperationSubmitThreadCount(
+    conf.setIntoOperationExecutionThreadCount(
         Integer.parseInt(
             properties.getProperty(
-                "into_operation_submit_thread_count",
-                String.valueOf(conf.getIntoOperationSubmitThreadCount()))));
-    if (conf.getIntoOperationSubmitThreadCount() <= 0) {
-      conf.setIntoOperationSubmitThreadCount(
-          Math.max(1, Runtime.getRuntime().availableProcessors() / 2));
+                "into_operation_execution_thread_count",
+                String.valueOf(conf.getIntoOperationExecutionThreadCount()))));
+    if (conf.getIntoOperationExecutionThreadCount() <= 0) {
+      conf.setIntoOperationExecutionThreadCount(2);
     }
 
     conf.setExtPipeDir(properties.getProperty("ext_pipe_dir", conf.getExtPipeDir()).trim());
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceManager.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceManager.java
index 5114d2dcbb..1bc2444bb1 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceManager.java
@@ -83,7 +83,7 @@ public class FragmentInstanceManager {
         IoTDBThreadPoolFactory.newFixedThreadPool(4, "instance-notification");
     this.intoOperationExecutor =
         IoTDBThreadPoolFactory.newFixedThreadPool(
-            IoTDBDescriptor.getInstance().getConfig().getIntoOperationSubmitThreadCount(),
+            IoTDBDescriptor.getInstance().getConfig().getIntoOperationExecutionThreadCount(),
             "into-operation-executor");
 
     this.infoCacheTime = new Duration(5, TimeUnit.MINUTES);