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/12 07:00:51 UTC
[incubator-iotdb] branch feature_async_close_tsfile updated: fix
get new memtable in close procedure
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 4534084 fix get new memtable in close procedure
4534084 is described below
commit 4534084e70b2c7c26ac93f060ce66ba78a201012
Author: qiaojialin <64...@qq.com>
AuthorDate: Wed Jun 12 15:00:36 2019 +0800
fix get new memtable in close procedure
---
.../apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java | 7 ++++++-
.../java/org/apache/iotdb/db/engine/memtable/MemTablePool.java | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
index 34f8a37..62cfee5 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
@@ -431,7 +431,12 @@ public class BufferWriteProcessor extends Processor {
IMemTable tmpMemTableToFlush = workMemTable;
long start = System.currentTimeMillis();
- workMemTable = MemTablePool.getInstance().getEmptyMemTable(this);
+
+ if (isCloseTaskCalled) {
+ workMemTable = null;
+ } else {
+ workMemTable = MemTablePool.getInstance().getEmptyMemTable(this);
+ }
start = System.currentTimeMillis() - start;
if (start > 1000) {
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 7799c7a..a1b8e7c 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
@@ -64,6 +64,7 @@ public class MemTablePool {
synchronized (emptyMemTables) {
memTable.clear();
emptyMemTables.push(memTable);
+ LOGGER.info("a memtable returned, stack size {}", emptyMemTables.size());
}
}