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
The following commit(s) were added to refs/heads/research/M4-visualization by
this push:
new ceec787389 add useMad
ceec787389 is described below
commit ceec787389ee830fe6781d55a74cb53bd45a933a
Author: Lei Rui <[email protected]>
AuthorDate: Thu Apr 13 09:30:55 2023 +0800
add useMad
---
server/src/assembly/resources/conf/iotdb-engine.properties | 2 ++
.../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 7 +++++++
.../test/java/org/apache/iotdb/db/integration/m4/MyTest1.java | 6 ++++++
.../java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java | 10 ++++++++++
.../org/apache/iotdb/tsfile/common/conf/TSFileDescriptor.java | 3 +++
.../iotdb/tsfile/file/metadata/statistics/StepRegress.java | 4 +++-
6 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties
b/server/src/assembly/resources/conf/iotdb-engine.properties
index 78c74ae658..31cfbba9fb 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -608,6 +608,8 @@ enable_unseq_compaction=false
use_ChunkIndex=true
+use_Mad=false
+
# group_size_in_byte=134217728
# The memory size for each series writer to pack page, default value is 64KB
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 5b30980b89..ba2b9667c7 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
@@ -904,6 +904,13 @@ public class IoTDBDescriptor {
"use_ChunkIndex",
Boolean.toString(
TSFileDescriptor.getInstance().getConfig().isUseChunkIndex()))));
+ TSFileDescriptor.getInstance()
+ .getConfig()
+ .setUseMad(
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "use_Mad",
+
Boolean.toString(TSFileDescriptor.getInstance().getConfig().isUseMad()))));
TSFileDescriptor.getInstance()
.getConfig()
.setGroupSizeInByte(
diff --git
a/server/src/test/java/org/apache/iotdb/db/integration/m4/MyTest1.java
b/server/src/test/java/org/apache/iotdb/db/integration/m4/MyTest1.java
index 60169de2c3..c2ab7f3868 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/m4/MyTest1.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/m4/MyTest1.java
@@ -58,6 +58,8 @@ public class MyTest1 {
private static final IoTDBConfig config =
IoTDBDescriptor.getInstance().getConfig();
private static boolean originalEnableCPV;
private static boolean originalUseChunkIndex;
+
+ private static boolean originalUseMad;
private static CompactionStrategy originalCompactionStrategy;
@Before
@@ -72,6 +74,9 @@ public class MyTest1 {
originalUseChunkIndex =
TSFileDescriptor.getInstance().getConfig().isUseChunkIndex();
TSFileDescriptor.getInstance().getConfig().setUseChunkIndex(false);
+ originalUseMad = TSFileDescriptor.getInstance().getConfig().isUseMad();
+ TSFileDescriptor.getInstance().getConfig().setUseMad(true);
+
EnvironmentUtils.envSetUp();
Class.forName(Config.JDBC_DRIVER_NAME);
config.setTimestampPrecision("ms");
@@ -83,6 +88,7 @@ public class MyTest1 {
config.setCompactionStrategy(originalCompactionStrategy);
config.setEnableCPV(originalEnableCPV);
TSFileDescriptor.getInstance().getConfig().setUseChunkIndex(originalUseChunkIndex);
+ TSFileDescriptor.getInstance().getConfig().setUseMad(originalUseMad);
}
@Test
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 49b385a658..2186a92162 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
@@ -29,6 +29,8 @@ public class TSFileConfig implements Serializable {
private boolean useChunkIndex = true;
+ private boolean useMad = false;
+
/** encoding configuration */
public static final int RLE_MIN_REPEATED_NUM = 8;
@@ -157,6 +159,14 @@ public class TSFileConfig implements Serializable {
this.useChunkIndex = useChunkIndex;
}
+ public boolean isUseMad() {
+ return useMad;
+ }
+
+ public void setUseMad(boolean useMad) {
+ this.useMad = useMad;
+ }
+
public int getGroupSizeInByte() {
return groupSizeInByte;
}
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 342be83a06..403b40b606 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
@@ -108,6 +108,9 @@ public class TSFileDescriptor {
conf.setUseChunkIndex(
Boolean.parseBoolean(
properties.getProperty("use_ChunkIndex",
Boolean.toString(conf.isUseChunkIndex()))));
+ conf.setUseMad(
+ Boolean.parseBoolean(
+ properties.getProperty("use_Mad",
Boolean.toString(conf.isUseMad()))));
conf.setGroupSizeInByte(
Integer.parseInt(
properties.getProperty(
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java
index 21443bfcc2..3e14571d3d 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java
@@ -18,6 +18,8 @@
*/
package org.apache.iotdb.tsfile.file.metadata.statistics;
+import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
+
import org.eclipse.collections.impl.list.mutable.primitive.DoubleArrayList;
import org.eclipse.collections.impl.list.mutable.primitive.IntArrayList;
import org.eclipse.collections.impl.list.mutable.primitive.LongArrayList;
@@ -27,7 +29,7 @@ import java.util.Arrays;
public class StepRegress {
- public static boolean useMad = false;
+ public static boolean useMad =
TSFileDescriptor.getInstance().getConfig().isUseMad();
// this is necessary, otherwise serialized twice by timeseriesMetadata and
chunkMetadata
// causing learn() executed more than once!!