This is an automated email from the ASF dual-hosted git repository. leirui pushed a commit to branch research/M4-visualization in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 4dbc88e3f27524c4354d2f828ecb51dabdec66e1 Author: Lei Rui <[email protected]> AuthorDate: Sun Jun 18 16:36:33 2023 +0800 add config use_Statistics --- server/src/assembly/resources/conf/iotdb-engine.properties | 2 ++ .../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 8 ++++++++ .../iotdb/db/query/reader/series/SeriesAggregateReader.java | 10 ++++++++++ .../java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java | 10 ++++++++++ .../org/apache/iotdb/tsfile/common/conf/TSFileDescriptor.java | 3 +++ 5 files changed, 33 insertions(+) diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties index 31cfbba9fb5..28ca06a1e62 100644 --- a/server/src/assembly/resources/conf/iotdb-engine.properties +++ b/server/src/assembly/resources/conf/iotdb-engine.properties @@ -606,6 +606,8 @@ enable_unseq_compaction=false ### Configurations for tsfile-format #################### +use_Statistics=true + use_ChunkIndex=true use_Mad=false 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 ba2b9667c79..04da72c848a 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 @@ -896,6 +896,14 @@ public class IoTDBDescriptor { } private void loadTsFileProps(Properties properties) { + TSFileDescriptor.getInstance() + .getConfig() + .setUseStatistics( + Boolean.parseBoolean( + properties.getProperty( + "use_Statistics", + Boolean.toString( + TSFileDescriptor.getInstance().getConfig().isUseStatistics())))); TSFileDescriptor.getInstance() .getConfig() .setUseChunkIndex( diff --git a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java index 5f30838bf16..0e7b84f710a 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java +++ b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesAggregateReader.java @@ -24,6 +24,7 @@ import org.apache.iotdb.db.metadata.PartialPath; import org.apache.iotdb.db.query.context.QueryContext; import org.apache.iotdb.db.query.filter.TsFileFilter; import org.apache.iotdb.db.utils.TestOnly; +import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; import org.apache.iotdb.tsfile.read.common.BatchData; @@ -96,6 +97,9 @@ public class SeriesAggregateReader implements IAggregateReader { @Override public boolean canUseCurrentFileStatistics() throws IOException { + if (!TSFileDescriptor.getInstance().getConfig().isUseStatistics()) { + return false; + } Statistics fileStatistics = currentFileStatistics(); return !seriesReader.isFileOverlapped() && containedByTimeFilter(fileStatistics) @@ -119,6 +123,9 @@ public class SeriesAggregateReader implements IAggregateReader { @Override public boolean canUseCurrentChunkStatistics() throws IOException { + if (!TSFileDescriptor.getInstance().getConfig().isUseStatistics()) { + return false; + } Statistics chunkStatistics = currentChunkStatistics(); return !seriesReader.isChunkOverlapped() && containedByTimeFilter(chunkStatistics) @@ -142,6 +149,9 @@ public class SeriesAggregateReader implements IAggregateReader { @Override public boolean canUseCurrentPageStatistics() throws IOException { + if (!TSFileDescriptor.getInstance().getConfig().isUseStatistics()) { + return false; + } Statistics currentPageStatistics = currentPageStatistics(); if (currentPageStatistics == null) { return false; 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 b7ba5a57d53..65cc33c8c6e 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 @@ -27,6 +27,8 @@ import java.nio.charset.Charset; /** TSFileConfig is a configure class. Every variables is public and has default value. */ public class TSFileConfig implements Serializable { + private boolean useStatistics = true; + private boolean useChunkIndex = true; private boolean useMad = false; @@ -151,6 +153,14 @@ public class TSFileConfig implements Serializable { public TSFileConfig() {} + public boolean isUseStatistics() { + return useStatistics; + } + + public void setUseStatistics(boolean useStatistics) { + this.useStatistics = useStatistics; + } + public boolean isUseChunkIndex() { return useChunkIndex; } 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 403b40b606e..c287ad85d57 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 @@ -105,6 +105,9 @@ public class TSFileDescriptor { Properties properties = new Properties(); try { properties.load(inputStream); + conf.setUseStatistics( + Boolean.parseBoolean( + properties.getProperty("use_Statistics", Boolean.toString(conf.isUseStatistics())))); conf.setUseChunkIndex( Boolean.parseBoolean( properties.getProperty("use_ChunkIndex", Boolean.toString(conf.isUseChunkIndex()))));
