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 <[email protected]> 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();
