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:22 UTC
[iotdb] 01/01: fix /0
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(