This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch fix_flush_log in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 0f667d79c588c006e831ededb26772500e3ca151 Author: qiaojialin <[email protected]> AuthorDate: Wed Jul 13 15:53:08 2022 +0800 fix /0 --- .../org/apache/iotdb/db/engine/flush/MemTableFlushTask.java | 10 ++++++++-- .../iotdb/db/writelog/recover/TsFileRecoverPerformer.java | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java index 5c7fa5e62d..5b145de275 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java @@ -96,13 +96,19 @@ public class MemTableFlushTask { "The memTable size of SG {} is {}, the avg series points num in chunk is {}, total timeseries number is {}", storageGroup, memTable.memSize(), - memTable.getTotalPointsNum() / memTable.getSeriesNumber(), + memTable.getSeriesNumber() == 0 + ? 0 + : memTable.getTotalPointsNum() / memTable.getSeriesNumber(), memTable.getSeriesNumber()); long estimatedTemporaryMemSize = 0L; if (config.isEnableMemControl() && SystemInfo.getInstance().isEncodingFasterThanIo()) { estimatedTemporaryMemSize = - memTable.memSize() / memTable.getSeriesNumber() * config.getIoTaskQueueSizeForFlushing(); + memTable.getSeriesNumber() == 0 + ? 0 + : memTable.memSize() + / memTable.getSeriesNumber() + * config.getIoTaskQueueSizeForFlushing(); SystemInfo.getInstance().applyTemporaryMemoryForFlushing(estimatedTemporaryMemSize); } long start = System.currentTimeMillis(); diff --git a/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java b/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java index 730aa75d27..b7722b67dd 100644 --- a/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java +++ b/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java @@ -289,7 +289,7 @@ public class TsFileRecoverPerformer { sequence); logReplayer.replayLogs(supplier, virtualStorageGroupProcessor); try { - if (!recoverMemTable.isEmpty()) { + if (!recoverMemTable.isEmpty() && recoverMemTable.getSeriesNumber() != 0) { // flush logs MemTableFlushTask tableFlushTask = new MemTableFlushTask(
