You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2019/06/21 12:04:35 UTC
[incubator-iotdb] branch add_log_for_memTableWrite updated: add
memtable_size config
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch add_log_for_memTableWrite
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/add_log_for_memTableWrite by this push:
new e72cfe5 add memtable_size config
e72cfe5 is described below
commit e72cfe57b000b897938575d59be045c509037b90
Author: qiaojialin <64...@qq.com>
AuthorDate: Fri Jun 21 20:04:18 2019 +0800
add memtable_size config
---
iotdb/iotdb/conf/iotdb-engine.properties | 2 ++
.../main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 15 +++++++++++++++
.../java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 5 +++++
.../org/apache/iotdb/db/engine/memtable/MemTablePool.java | 3 ++-
4 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/iotdb/iotdb/conf/iotdb-engine.properties b/iotdb/iotdb/conf/iotdb-engine.properties
index 848696c..b8ddb23 100644
--- a/iotdb/iotdb/conf/iotdb-engine.properties
+++ b/iotdb/iotdb/conf/iotdb-engine.properties
@@ -142,6 +142,8 @@ period_time_for_merge_in_second=7200
# Default is true.
enable_timing_close_and_merge=true
+memtable_size=20
+
# time zone of server side
# default value is +08:00
# eg. +08:00, -01:00
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 275ee80..f66cbfc 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -67,6 +67,12 @@ public class IoTDBConfig {
*/
private long forceWalPeriodInMs = 10;
+
+ /**
+ * max number of MamTable in memory
+ */
+ private int memTableSize = 20;
+
/**
* Data directory.
*/
@@ -610,6 +616,15 @@ public class IoTDBConfig {
this.periodTimeForMerge = periodTimeForMerge;
}
+
+ public int getMemTableSize() {
+ return memTableSize;
+ }
+
+ public void setMemTableSize(int memTableSize) {
+ this.memTableSize = memTableSize;
+ }
+
public boolean isEnableTimingCloseAndMerge() {
return enableTimingCloseAndMerge;
}
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 57eedfe..a5023bc 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -156,6 +156,11 @@ public class IoTDBDescriptor {
conf.setPeriodTimeForMerge(Long.parseLong(
properties.getProperty("period_time_for_merge_in_second",
Long.toString(conf.getPeriodTimeForMerge())).trim()));
+
+ conf.setMemTableSize(Integer.parseInt(
+ properties.getProperty("memtable_size",
+ Integer.toString(conf.getMemTableSize())).trim()));
+
conf.setEnableTimingCloseAndMerge(Boolean.parseBoolean(properties
.getProperty("enable_timing_close_and_merge",
Boolean.toString(conf.isEnableTimingCloseAndMerge())).trim()));
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTablePool.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTablePool.java
index a1b8e7c..ac11fb1 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTablePool.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTablePool.java
@@ -1,6 +1,7 @@
package org.apache.iotdb.db.engine.memtable;
import java.util.Stack;
+import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.tsfile.common.constant.SystemConstant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,7 +11,7 @@ public class MemTablePool {
private Stack<IMemTable> emptyMemTables;
// >= number of storage group * 2
- private int capacity = 20;
+ private int capacity = IoTDBDescriptor.getInstance().getConfig().getMemTableSize();
private int size = 0;
private static final MemTablePool INSTANCE = new MemTablePool();