You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ma...@apache.org on 2022/07/18 03:22:58 UTC

[iotdb] 01/02: temp

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

marklau99 pushed a commit to branch IOTDB-3164
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 95793820e89c6d49eec22dad25c964d7d8179b93
Author: Liu Xuxin <li...@outlook.com>
AuthorDate: Fri Jul 15 10:21:34 2022 +0800

    temp
---
 .../org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java    | 1 -
 .../org/apache/iotdb/db/rescon/memory/WriteMemoryController.java    | 6 ++++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index adaee20f82..a22031d78a 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -1169,7 +1169,6 @@ public class TsFileProcessor {
         WriteMemoryController.getInstance()
             .releaseFlushingMemory(
                 memTable.getTVListsRamCost(), storageGroupName, memTable.getMemTableId());
-        logger.error("Release size {} for {}", memTable.getTVListsRamCost(), storageGroupName);
       }
       if (logger.isDebugEnabled()) {
         logger.debug(
diff --git a/server/src/main/java/org/apache/iotdb/db/rescon/memory/WriteMemoryController.java b/server/src/main/java/org/apache/iotdb/db/rescon/memory/WriteMemoryController.java
index a487ffcc43..a758cb6c17 100644
--- a/server/src/main/java/org/apache/iotdb/db/rescon/memory/WriteMemoryController.java
+++ b/server/src/main/java/org/apache/iotdb/db/rescon/memory/WriteMemoryController.java
@@ -39,12 +39,13 @@ public class WriteMemoryController extends MemoryController<TsFileProcessor> {
   private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
   private static final long memorySizeForWrite = config.getAllocateMemoryForWrite();
   private static final double FLUSH_THRESHOLD = memorySizeForWrite * config.getFlushProportion();
+  private static final double END_FLUSH_THRESHOLD = 0.7 * FLUSH_THRESHOLD;
   private static final double REJECT_THRESHOLD = memorySizeForWrite * config.getRejectProportion();
   private volatile boolean rejected = false;
   private AtomicLong flushingMemory = new AtomicLong(0);
   private Set<StorageGroupInfo> infoSet = new CopyOnWriteArraySet<>();
   private ExecutorService flushTaskSubmitThreadPool =
-      IoTDBThreadPoolFactory.newSingleThreadExecutor("FlushTask-Submit-Pool");
+      IoTDBThreadPoolFactory.newFixedThreadPool(2, "FlushTask-Submit-Pool");
 
   public WriteMemoryController(long limitSize) {
     super(limitSize);
@@ -122,7 +123,8 @@ public class WriteMemoryController extends MemoryController<TsFileProcessor> {
       if (selectedTsFileProcessor == null) {
         break;
       }
-      if (selectedTsFileProcessor.shouldFlush()) {
+      if (selectedTsFileProcessor.getWorkMemTable() == null
+          || selectedTsFileProcessor.getWorkMemTable().shouldFlush()) {
         continue;
       }
       memCost += selectedTsFileProcessor.getWorkMemTableRamCost();