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

xiangweiwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 098093a  [IOTDB-2061] Add more comments to env.sh/bat (#4495)
098093a is described below

commit 098093a57decc3441eae2fc7964c8934df6aced8
Author: Xiangwei Wei <[email protected]>
AuthorDate: Mon Nov 29 17:29:57 2021 +0800

    [IOTDB-2061] Add more comments to env.sh/bat (#4495)
---
 server/src/assembly/resources/conf/iotdb-engine.properties   |  7 ++++---
 server/src/assembly/resources/conf/iotdb-env.bat             |  8 ++++++--
 server/src/assembly/resources/conf/iotdb-env.sh              | 10 +++++++---
 .../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java  | 12 ++++++------
 .../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  9 ++++++---
 .../org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java |  4 ++--
 6 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties 
b/server/src/assembly/resources/conf/iotdb-engine.properties
index aad2f9d..bbcbc64 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -284,6 +284,10 @@ timestamp_precision=ms
 # Datatype: int
 # concurrent_flush_thread=0
 
+# How many threads can concurrently query. When <= 0, use CPU core number.
+# Datatype: int
+# concurrent_query_thread=8
+
 # whether take over the memory management by IoTDB rather than JVM when 
serializing memtable as bytes in memory
 # (i.e., whether use ChunkBufferPool), value true, false
 # Datatype: boolean
@@ -526,9 +530,6 @@ timestamp_precision=ms
 # Datatype: int
 # query_timeout_threshold=60000
 
-# The max number of sub query thread
-# max_concurrent_sub_query_thread=8
-
 ####################
 ### Metadata Cache Configuration
 ####################
diff --git a/server/src/assembly/resources/conf/iotdb-env.bat 
b/server/src/assembly/resources/conf/iotdb-env.bat
index 72a1237..c3000f0 100644
--- a/server/src/assembly/resources/conf/iotdb-env.bat
+++ b/server/src/assembly/resources/conf/iotdb-env.bat
@@ -103,9 +103,13 @@ for /f "tokens=1-3" %%j in ('java -version 2^>^&1') do (
 
 @REM maximum direct memory size
 set MAX_DIRECT_MEMORY_SIZE=%MAX_HEAP_SIZE%
+@REM threads number that may use direct memory, including query threads(8) + 
merge threads(4) + space left for system(4)
+set threads_number=16
+@REM the size of buffer cache pool(IOV_MAX) depends on operating system
+set temp_buffer_pool_size=1024
 @REM Max cached buffer size, Note: unit can only be B!
-@REM which equals DIRECT_MEMORY_SIZE / threads number that may use direct 
memory / buffer cache size(IOV_MAX) depends on operating system
-set MAX_DIRECT_MEMORY_SIZE=%max_heap_size_in_mb% * 1024 * 1024 / 16 / 1024
+@REM which equals DIRECT_MEMORY_SIZE / threads_number / temp_buffer_pool_size
+set MAX_CACHED_BUFFER_SIZE=%max_heap_size_in_mb% * 1024 * 1024 / 
%threads_number% / %temp_buffer_pool_size%
 
 set IOTDB_HEAP_OPTS=-Xmx%MAX_HEAP_SIZE% -Xms%HEAP_NEWSIZE% -Xlog:gc:"..\gc.log"
 set IOTDB_HEAP_OPTS=%IOTDB_HEAP_OPTS% 
-XX:MaxDirectMemorySize=%MAX_DIRECT_MEMORY_SIZE%
diff --git a/server/src/assembly/resources/conf/iotdb-env.sh 
b/server/src/assembly/resources/conf/iotdb-env.sh
index 954c1ee..342ec15 100755
--- a/server/src/assembly/resources/conf/iotdb-env.sh
+++ b/server/src/assembly/resources/conf/iotdb-env.sh
@@ -207,10 +207,14 @@ calculate_heap_sizes
 #HEAP_NEWSIZE="2G"
 # Maximum direct memory size
 MAX_DIRECT_MEMORY_SIZE=${MAX_HEAP_SIZE}
+
+# threads number that may use direct memory, including query threads(8) + 
merge threads(4) + space left for system(4)
+threads_number="16"
+# the size of buffer cache pool(IOV_MAX) depends on operating system
+temp_buffer_pool_size="1024"
 # Max cached buffer size, Note: unit can only be B!
-# which equals DIRECT_MEMORY_SIZE / threads number that may use direct memory 
/ buffer cache size(IOV_MAX) depends on operating system
-MAX_CACHED_BUFFER_SIZE=`expr $max_heap_size_in_mb \* 1024 \* 1024 / 16 / 1024`
-echo $MAX_CACHED_BUFFER_SIZE
+# which equals DIRECT_MEMORY_SIZE / threads_number / temp_buffer_pool_size
+MAX_CACHED_BUFFER_SIZE=`expr $max_heap_size_in_mb \* 1024 \* 1024 / 
$threads_number / $temp_buffer_pool_size`
 
 #true or false
 #DO NOT FORGET TO MODIFY THE PASSWORD FOR SECURITY (${IOTDB_CONF}/jmx.password 
and ${IOTDB_CONF}/jmx.access)
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 0ef9fbe..d234205 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
@@ -252,8 +252,8 @@ public class IoTDBConfig {
   /** How many threads can concurrently flush. When <= 0, use CPU core number. 
*/
   private int concurrentFlushThread = 
Runtime.getRuntime().availableProcessors();
 
-  /** How many threads can concurrently query. */
-  private int maxConcurrentSubQueryThread = 8;
+  /** How many threads can concurrently query. When <= 0, use CPU core number. 
*/
+  private int concurrentQueryThread = 8;
 
   /** How many threads can concurrently evaluate windows. When <= 0, use CPU 
core number. */
   private int concurrentWindowEvaluationThread = 
Runtime.getRuntime().availableProcessors();
@@ -1159,12 +1159,12 @@ public class IoTDBConfig {
     this.concurrentFlushThread = concurrentFlushThread;
   }
 
-  public int getMaxConcurrentSubQueryThread() {
-    return maxConcurrentSubQueryThread;
+  public int getConcurrentQueryThread() {
+    return concurrentQueryThread;
   }
 
-  void setMaxConcurrentSubQueryThread(int maxConcurrentSubQueryThread) {
-    this.maxConcurrentSubQueryThread = maxConcurrentSubQueryThread;
+  void setConcurrentQueryThread(int concurrentQueryThread) {
+    this.concurrentQueryThread = concurrentQueryThread;
   }
 
   public int getConcurrentWindowEvaluationThread() {
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 84f8051..17deb09 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
@@ -440,11 +440,14 @@ public class IoTDBDescriptor {
                   "index_buffer_size", 
Long.toString(conf.getIndexBufferSize()))));
       // end: index parameter setting
 
-      conf.setMaxConcurrentSubQueryThread(
+      conf.setConcurrentQueryThread(
           Integer.parseInt(
               properties.getProperty(
-                  "max_concurrent_sub_query_thread",
-                  Integer.toString(conf.getMaxConcurrentSubQueryThread()))));
+                  "concurrent_query_thread", 
Integer.toString(conf.getConcurrentQueryThread()))));
+
+      if (conf.getConcurrentQueryThread() <= 0) {
+        
conf.setConcurrentQueryThread(Runtime.getRuntime().availableProcessors());
+      }
 
       conf.setmManagerCacheSize(
           Integer.parseInt(
diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java 
b/server/src/main/java/org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java
index 41f662c..62bb89d 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java
@@ -35,7 +35,7 @@ public class QueryTaskPoolManager extends AbstractPoolManager 
{
     int threadCnt =
         Math.min(
             Runtime.getRuntime().availableProcessors(),
-            
IoTDBDescriptor.getInstance().getConfig().getMaxConcurrentSubQueryThread());
+            
IoTDBDescriptor.getInstance().getConfig().getConcurrentQueryThread());
     pool = IoTDBThreadPoolFactory.newFixedThreadPool(threadCnt, 
ThreadName.QUERY_SERVICE.getName());
   }
 
@@ -59,7 +59,7 @@ public class QueryTaskPoolManager extends AbstractPoolManager 
{
       int threadCnt =
           Math.min(
               Runtime.getRuntime().availableProcessors(),
-              
IoTDBDescriptor.getInstance().getConfig().getMaxConcurrentSubQueryThread());
+              
IoTDBDescriptor.getInstance().getConfig().getConcurrentQueryThread());
       pool =
           IoTDBThreadPoolFactory.newFixedThreadPool(threadCnt, 
ThreadName.QUERY_SERVICE.getName());
     }

Reply via email to