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

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


The following commit(s) were added to refs/heads/hitter_compaction_mto_master 
by this push:
     new 3106d47  add hitter config
3106d47 is described below

commit 3106d476c8885fe365713abba984080c864694ed
Author: EJTTianyu <[email protected]>
AuthorDate: Wed Apr 28 17:47:30 2021 +0800

    add hitter config
---
 .../assembly/resources/conf/iotdb-engine.properties | 20 ++++++++++++++++++++
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java  | 13 ++++++++++++-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java   | 21 +++++++++++++++++++++
 3 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties 
b/server/src/assembly/resources/conf/iotdb-engine.properties
index cf4da38..425fbbb 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -456,6 +456,26 @@ timestamp_precision=ms
 # query_timeout_threshold=60000
 
 ####################
+### Hitter Merge Configurations
+####################
+
+# Query hitter strategy
+# Datatype: QueryHitterStrategy
+# query_hitter_strategy=DEFAULT_STRATEGY
+
+# Max query paths hitter contains
+# Datatype: int
+# max_hitter_num=5000
+
+# Size ratio of the hitter level merge
+# Datatype: int
+# size_ratio=2
+
+# Counter ratio of the query hitter
+# Datatype: int
+# counter_ratio=2
+
+####################
 ### Metadata Cache Configuration
 ####################
 
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 bd3ea59..4beb02d 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
@@ -319,12 +319,15 @@ public class IoTDBConfig {
   /** Query hitter strategy */
   private QueryHitterStrategy queryHitterStrategy = 
QueryHitterStrategy.DEFAULT_STRATEGY;
 
-  /** max query path hitter contains */
+  /** max query paths hitter contains */
   private int maxHitterNum = 5000;
 
   /** size ratio of the hitter level merge */
   private int sizeRatio = 2;
 
+  /** Counter ratio of the query hitter */
+  private int counterRatio = 2;
+
   /**
    * Works when the compaction_strategy is LEVEL_COMPACTION. Whether to merge 
unseq files into seq
    * files or not.
@@ -1501,6 +1504,14 @@ public class IoTDBConfig {
     this.sizeRatio = sizeRatio;
   }
 
+  public int getCounterRatio() {
+    return counterRatio;
+  }
+
+  public void setCounterRatio(int counterRatio) {
+    this.counterRatio = counterRatio;
+  }
+
   public boolean isEnableUnseqCompaction() {
     return enableUnseqCompaction;
   }
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 988f865..7b59d4c 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
@@ -20,6 +20,7 @@ package org.apache.iotdb.db.conf;
 
 import org.apache.iotdb.db.conf.directories.DirectoryManager;
 import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
+import org.apache.iotdb.db.engine.compaction.heavyhitter.QueryHitterStrategy;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.utils.FilePathUtils;
 import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
@@ -342,6 +343,26 @@ public class IoTDBDescriptor {
                   "unseq_file_num_in_each_level",
                   Integer.toString(conf.getUnseqFileNumInEachLevel()))));
 
+      conf.setQueryHitterStrategy(
+          QueryHitterStrategy.valueOf(
+              properties.getProperty("query_hitter_strategy",
+                conf.getQueryHitterStrategy().toString())));
+
+      conf.setMaxHitterNum(
+          Integer.parseInt(
+              properties.getProperty("max_hitter_num",
+                Integer.toString(conf.getMaxHitterNum()))));
+
+      conf.setSizeRatio(
+          Integer.parseInt(
+              properties.getProperty("size_ratio",
+                Integer.toString(conf.getSizeRatio()))));
+
+      conf.setCounterRatio(
+          Integer.parseInt(
+              properties.getProperty("counter_ratio",
+                  Integer.toString(conf.getCounterRatio()))));
+
       conf.setQueryTimeoutThreshold(
           Integer.parseInt(
               properties.getProperty(

Reply via email to