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 2022/07/13 07:53:21 UTC

[iotdb] branch fix_flush_log created (now 0f667d79c5)

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

qiaojialin pushed a change to branch fix_flush_log
in repository https://gitbox.apache.org/repos/asf/iotdb.git


      at 0f667d79c5 fix /0

This branch includes the following new commits:

     new 0f667d79c5 fix /0

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 01/01: fix /0

Posted by qi...@apache.org.
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 <64...@qq.com>
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(