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/24 08:41:29 UTC
[incubator-iotdb] branch feature_async_close_tsfile updated: add
memtable_number config
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch feature_async_close_tsfile
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/feature_async_close_tsfile by this push:
new 4463e19 add memtable_number config
4463e19 is described below
commit 4463e190229a026492e91ba33f2bfdf2da8bf7db
Author: qiaojialin <64...@qq.com>
AuthorDate: Mon Jun 24 16:41:14 2019 +0800
add memtable_number config
---
iotdb/iotdb/conf/iotdb-engine.properties | 3 +++
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 22 ++++++++++------------
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 4 ++++
.../iotdb/db/engine/memtable/MemTablePool.java | 2 +-
4 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/iotdb/iotdb/conf/iotdb-engine.properties b/iotdb/iotdb/conf/iotdb-engine.properties
index 5f04f08..66d0cf2 100644
--- a/iotdb/iotdb/conf/iotdb-engine.properties
+++ b/iotdb/iotdb/conf/iotdb-engine.properties
@@ -155,6 +155,9 @@ period_time_for_merge_in_second=7200
# Default is true.
enable_timing_close_and_merge=true
+# total number of memtables in memtable pool
+memtable_number=23
+
# 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 33b7231..c3d2c88 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
@@ -114,6 +114,8 @@ public class IoTDBConfig {
*/
private String derbyHome = "derby";
+ private int memtableNumber = 23;
+
/**
* Data directory of Write ahead log folder.
*/
@@ -172,11 +174,6 @@ public class IoTDBConfig {
*/
private int concurrentFlushThread = Runtime.getRuntime().availableProcessors();
- /**
- * Maximum number of active mem tables.
- */
- private int maxActiveMemTableSize = 100;
-
private ZoneId zoneID = ZoneId.systemDefault();
/**
* BufferWriteProcessor and OverflowProcessor will immediately flush if this threshold is
@@ -617,6 +614,14 @@ public class IoTDBConfig {
this.periodTimeForFlush = periodTimeForFlush;
}
+ public int getMemtableNumber() {
+ return memtableNumber;
+ }
+
+ public void setMemtableNumber(int memtableNumber) {
+ this.memtableNumber = memtableNumber;
+ }
+
public long getPeriodTimeForMerge() {
return periodTimeForMerge;
}
@@ -845,11 +850,4 @@ public class IoTDBConfig {
this.rpcImplClassName = rpcImplClassName;
}
- public int getMaxActiveMemTableSize() {
- return maxActiveMemTableSize;
- }
-
- public void setMaxActiveMemTableSize(int maxActiveMemTableSize) {
- this.maxActiveMemTableSize = maxActiveMemTableSize;
- }
}
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 f6ecec3..9bf3a13 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
@@ -118,6 +118,10 @@ public class IoTDBDescriptor {
conf.setEnableWal(Boolean.parseBoolean(properties.getProperty("enable_wal",
Boolean.toString(conf.isEnableWal()))));
+ conf.setMemtableNumber(Integer
+ .parseInt(properties.getProperty("memtable_number",
+ Integer.toString(conf.getMemtableNumber()))));
+
conf.setFlushWalThreshold(Integer
.parseInt(properties.getProperty("flush_wal_threshold",
Integer.toString(conf.getFlushWalThreshold()))));
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 349d3fc..51936e0 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
@@ -35,7 +35,7 @@ public class MemTablePool {
* TODO check this parameter to ensure that capaity * MaxMemTable Size < JVM memory / 2
*/
private static final int capacity = IoTDBDescriptor.getInstance().getConfig()
- .getMaxActiveMemTableSize();
+ .getMemtableNumber();
private int size = 0;