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/11/25 11:16:45 UTC

[iotdb] branch IOTDB-5004 updated: correct the number of tsfile metric

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

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


The following commit(s) were added to refs/heads/IOTDB-5004 by this push:
     new 44d8af0464 correct the number of tsfile metric
44d8af0464 is described below

commit 44d8af04643f4601ba71b5f59241c1453c4d5d65
Author: LiuXuxin <li...@outlook.com>
AuthorDate: Fri Nov 25 19:16:37 2022 +0800

    correct the number of tsfile metric
---
 .../main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java   | 6 +++---
 .../iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java  | 6 ++++--
 .../iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java  | 3 ++-
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java b/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
index ee90a60ed3..afc6018e43 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
@@ -48,13 +48,13 @@ public class TsFileMetricManager {
     }
   }
 
-  public void deleteFile(long size, boolean seq) {
+  public void deleteFile(long size, boolean seq, int num) {
     if (seq) {
       seqFileSize.getAndAdd(-size);
-      seqFileNum.getAndAdd(-1);
+      seqFileNum.getAndAdd(-num);
     } else {
       unseqFileSize.getAndAdd(-size);
-      unseqFileNum.getAndAdd(-1);
+      unseqFileNum.getAndAdd(-num);
     }
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
index d4aa2db32d..2bb5dc69a5 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
@@ -170,8 +170,10 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
 
         long sequenceFileSize = deleteOldFiles(selectedSequenceFiles);
         long unsequenceFileSize = deleteOldFiles(selectedUnsequenceFiles);
-        TsFileMetricManager.getInstance().deleteFile(sequenceFileSize, true);
-        TsFileMetricManager.getInstance().deleteFile(unsequenceFileSize, false);
+        TsFileMetricManager.getInstance()
+            .deleteFile(sequenceFileSize, true, selectedSequenceFiles.size());
+        TsFileMetricManager.getInstance()
+            .deleteFile(unsequenceFileSize, false, selectedUnsequenceFiles.size());
 
         for (TsFileResource targetResource : targetTsfileResourceList) {
           TsFileMetricManager.getInstance().addFile(targetResource.getTsFileSize(), true);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
index a3c911cf13..2c2181a3ee 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
@@ -211,7 +211,8 @@ public class InnerSpaceCompactionTask extends AbstractCompactionTask {
           selectedTsFileResourceList, storageGroupName + "-" + dataRegionId);
       CompactionUtils.deleteModificationForSourceFile(
           selectedTsFileResourceList, storageGroupName + "-" + dataRegionId);
-      TsFileMetricManager.getInstance().deleteFile(totalSizeOfDeletedFile, sequence);
+      TsFileMetricManager.getInstance()
+          .deleteFile(totalSizeOfDeletedFile, sequence, selectedTsFileResourceList.size());
       // inner space compaction task has only one target file
       if (targetTsFileList.size() > 0) {
         // if the target tsfile is empty file, it will be removed