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());
     }
   }