You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xu...@apache.org on 2022/01/15 06:37:41 UTC

[iotdb] 01/03: add conf and related docs

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

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

commit 18b6351ba5190099cbba90352b6098f12152daf3
Author: 151250176 <15...@smail.nju.edu.cn>
AuthorDate: Sat Jan 15 14:30:55 2022 +0800

    add conf and related docs
---
 docs/UserGuide/Appendix/Config-Manual.md                    |  9 +++++++++
 docs/zh/UserGuide/Appendix/Config-Manual.md                 |  7 +++++++
 server/src/assembly/resources/conf/iotdb-engine.properties  |  4 ++++
 .../org/apache/iotdb/tsfile/common/conf/TSFileConfig.java   |  8 +++-----
 .../apache/iotdb/tsfile/common/conf/TSFileDescriptor.java   | 13 +++++++------
 5 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/docs/UserGuide/Appendix/Config-Manual.md b/docs/UserGuide/Appendix/Config-Manual.md
index deda989..eeeca25 100644
--- a/docs/UserGuide/Appendix/Config-Manual.md
+++ b/docs/UserGuide/Appendix/Config-Manual.md
@@ -802,6 +802,15 @@ The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access.
 |Default| false |
 |Effective|After restart system|
 
+* remove\_statistics
+
+|Name| remove\_statistics |
+|:---:|:---|
+|Description| remove statistics for saving disk space. This may slow down query. Currently will take effect only when one timeseries has only one page of data |
+|Type| bool |
+|Default| false |
+|Effective|Only allowed to be modified in first start up|
+
 ## Enable GC log
 GC log is off by default.
 For performance tuning, you may want to collect the GC info. 
diff --git a/docs/zh/UserGuide/Appendix/Config-Manual.md b/docs/zh/UserGuide/Appendix/Config-Manual.md
index 1e805b8..cfeb503 100644
--- a/docs/zh/UserGuide/Appendix/Config-Manual.md
+++ b/docs/zh/UserGuide/Appendix/Config-Manual.md
@@ -1559,6 +1559,13 @@
 |默认值| root |
 |改后生效方式|仅允许在第一次启动服务前修改|
 
+* remove\_statistics
+|名字| remove\_statistics |
+|:---:|:---|
+|描述| 是否在tsfile落盘时不记录统计信息(只会在一个时间序列只有一个page的数据时不记录统计信息),这样做可以节省空间,但是可能会减慢查询速度,建议在每个时间序列落盘点数少于10时使用 |
+|类型| bool |
+|默认值| false |
+|改后生效方式|仅允许在第一次启动服务前修改|
 
 ## 开启 GC 日志
 GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。
diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties
index dfe475e..13e84d9 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -782,6 +782,10 @@ timestamp_precision=ms
 # Datatype: long
 # slow_query_threshold=5000
 
+# remove statistics for saving disk space. This may slow down query
+# Datatype: boolean
+# remove_statistics=false
+
 ####################
 ### MQTT Broker Configuration
 ####################
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java
index 02fdff4..53e6088 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java
@@ -18,13 +18,12 @@
  */
 package org.apache.iotdb.tsfile.common.conf;
 
+import java.io.Serializable;
+import java.nio.charset.Charset;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.fileSystem.FSType;
 
-import java.io.Serializable;
-import java.nio.charset.Charset;
-
 /** TSFileConfig is a configure class. Every variables is public and has default value. */
 public class TSFileConfig implements Serializable {
 
@@ -145,9 +144,8 @@ public class TSFileConfig implements Serializable {
   private double bloomFilterErrorRate = 0.05;
   /** The amount of data iterate each time */
   private int batchSize = 1000;
-
   /** whether we should remove stat */
-  private boolean removeStat = true;
+  private boolean removeStat = false;
 
   public TSFileConfig() {}
 
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileDescriptor.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileDescriptor.java
index 67b6a03..2b66194 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileDescriptor.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileDescriptor.java
@@ -19,12 +19,6 @@
 
 package org.apache.iotdb.tsfile.common.conf;
 
-import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
-import org.apache.iotdb.tsfile.utils.Loader;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -33,6 +27,10 @@ import java.io.InputStream;
 import java.net.URL;
 import java.util.Properties;
 import java.util.Set;
+import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
+import org.apache.iotdb.tsfile.utils.Loader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /** TSFileDescriptor is used to load TSFileConfig and provide configure information. */
 public class TSFileDescriptor {
@@ -141,6 +139,9 @@ public class TSFileDescriptor {
       conf.setBatchSize(
           Integer.parseInt(
               properties.getProperty("batch_size", Integer.toString(conf.getBatchSize()))));
+      conf.setRemoveStat(
+          Boolean.parseBoolean(
+              properties.getProperty("remove_statistics", String.valueOf(conf.isRemoveStat()))));
     } catch (IOException e) {
       logger.warn("Cannot load config file, use default configuration", e);
     } catch (Exception e) {