You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by li...@apache.org on 2019/06/12 08:29:24 UTC

[incubator-iotdb] branch feature_async_close_tsfile updated: submit flush task before asking for a memtable

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

liurui 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 6d1848e  submit flush task before asking for a memtable
6d1848e is described below

commit 6d1848ef46891b11ea3387809d238789b7734d4e
Author: liuruiyiyang <24...@qq.com>
AuthorDate: Wed Jun 12 16:28:59 2019 +0800

    submit flush task before asking for a memtable
---
 .../iotdb/db/engine/bufferwrite/BufferWriteProcessor.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

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 fe47e1d..ca90b76 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
@@ -405,12 +405,6 @@ public class BufferWriteProcessor extends Processor {
 
       long start = System.currentTimeMillis();
 
-      if (isCloseTaskCalled) {
-        workMemTable = null;
-      } else {
-        workMemTable = MemTablePool.getInstance().getEmptyMemTable(this);
-      }
-
       start = System.currentTimeMillis() - start;
       if (start > 1000) {
         LOGGER.info("BufferWriteProcessor.flush getEmptyMemtable cost: {}", start);
@@ -438,6 +432,12 @@ public class BufferWriteProcessor extends Processor {
         flushFuture = FlushManager.getInstance().submit(() -> flushTask("asynchronously",
             tmpMemTableToFlush, version, walTaskId, flushId));
       }
+
+      if (isCloseTaskCalled) {
+        workMemTable = null;
+      } else {
+        workMemTable = MemTablePool.getInstance().getEmptyMemTable(this);
+      }
     } else {
       flushFuture = new ImmediateFuture<>(true);
     }