This is an automated email from the ASF dual-hosted git repository. xiangweiwei pushed a commit to branch envTypo in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 137f3c56d84d51e5df018b02ea64c464df0f37a7 Author: Alima777 <[email protected]> AuthorDate: Mon Nov 29 11:41:52 2021 +0800 Fix typo in iotdb-2061 --- server/src/assembly/resources/conf/iotdb-engine.properties | 5 +---- server/src/assembly/resources/conf/iotdb-env.bat | 8 ++++++-- server/src/assembly/resources/conf/iotdb-env.sh | 9 ++++++--- .../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 12 +----------- .../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 5 ----- .../org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java | 7 +++++-- 6 files changed, 19 insertions(+), 27 deletions(-) diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties index 8ec7f17..8e63e07 100644 --- a/server/src/assembly/resources/conf/iotdb-engine.properties +++ b/server/src/assembly/resources/conf/iotdb-engine.properties @@ -250,7 +250,7 @@ timestamp_precision=ms # concurrent_flush_thread=0 # How many threads can concurrently query. When <= 0, use CPU core number. -# concurrent_query_thread=0 +# 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 @@ -360,9 +360,6 @@ timestamp_precision=ms # The max executing time of query. unit: ms # query_timeout_threshold=60000 -# The max number of sub query thread -# max_concurrent_sub_query=8 - #################### ### Merge Configurations #################### diff --git a/server/src/assembly/resources/conf/iotdb-env.bat b/server/src/assembly/resources/conf/iotdb-env.bat index 72a1237..6919118 100755 --- 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 / 16 / 1024 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 e9ecec8..5932eb1 100755 --- a/server/src/assembly/resources/conf/iotdb-env.sh +++ b/server/src/assembly/resources/conf/iotdb-env.sh @@ -207,10 +207,13 @@ 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 76f9a67..756b88d 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 @@ -122,8 +122,6 @@ public class IoTDBConfig { private volatile int maxQueryDeduplicatedPathNum = 1000; - private int maxConcurrentSubQuery = 8; - /** Ratio of memory allocated for buffered arrays */ private double bufferedArraysMemoryProportion = 0.6; @@ -236,7 +234,7 @@ public class IoTDBConfig { private int concurrentFlushThread = Runtime.getRuntime().availableProcessors(); /** How many threads can concurrently query. When <= 0, use CPU core number. */ - private int concurrentQueryThread = Runtime.getRuntime().availableProcessors(); + private int concurrentQueryThread = 8; /** Is the write mem control for writing enable. */ private boolean enableMemControl = true; @@ -757,14 +755,6 @@ public class IoTDBConfig { return concurrentWritingTimePartition; } - public int getMaxConcurrentSubQuery() { - return maxConcurrentSubQuery; - } - - public void setMaxConcurrentSubQuery(int maxConcurrentSubQuery) { - this.maxConcurrentSubQuery = maxConcurrentSubQuery; - } - public int getDefaultFillInterval() { return defaultFillInterval; } 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 4277cbc..8df773d 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 @@ -165,11 +165,6 @@ public class IoTDBDescriptor { Integer.parseInt( properties.getProperty("rpc_port", Integer.toString(conf.getRpcPort())))); - conf.setMaxConcurrentSubQuery( - Integer.parseInt( - properties.getProperty( - "max_concurrent_sub_query", Integer.toString(conf.getMaxConcurrentSubQuery())))); - conf.setTimestampPrecision( properties.getProperty("timestamp_precision", conf.getTimestampPrecision())); 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 8da36e7..1dcda50 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 @@ -34,7 +34,7 @@ public class QueryTaskPoolManager extends AbstractPoolManager { private QueryTaskPoolManager() { int threadCnt = Math.min( - IoTDBDescriptor.getInstance().getConfig().getMaxConcurrentSubQuery(), + Runtime.getRuntime().availableProcessors(), IoTDBDescriptor.getInstance().getConfig().getConcurrentQueryThread()); pool = IoTDBThreadPoolFactory.newFixedThreadPool(threadCnt, ThreadName.QUERY_SERVICE.getName()); } @@ -56,7 +56,10 @@ public class QueryTaskPoolManager extends AbstractPoolManager { @Override public void start() { if (pool == null) { - int threadCnt = IoTDBDescriptor.getInstance().getConfig().getConcurrentQueryThread(); + int threadCnt = + Math.min( + Runtime.getRuntime().availableProcessors(), + IoTDBDescriptor.getInstance().getConfig().getConcurrentQueryThread()); pool = IoTDBThreadPoolFactory.newFixedThreadPool(threadCnt, ThreadName.QUERY_SERVICE.getName()); }
