You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2024/10/29 06:31:34 UTC

(iotdb) branch master updated: fix negative file metric items (#13942)

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

haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new ea66801032b fix negative file metric items (#13942)
ea66801032b is described below

commit ea66801032ba5270fc7b7a4ba913ec0c5f0bd68a
Author: shuwenwei <55...@users.noreply.github.com>
AuthorDate: Tue Oct 29 14:31:27 2024 +0800

    fix negative file metric items (#13942)
---
 .../iotdb/db/storageengine/dataregion/DataRegion.java    | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 16654ea8b16..6b91addc3e1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -1967,14 +1967,30 @@ public class DataRegion implements IDataRegionForQuery {
     try {
       logger.info("force close all processors in database: {}", databaseName + "-" + dataRegionId);
       // to avoid concurrent modification problem, we need a new array list
+      List<TsFileResource> closedTsFileResources = new ArrayList<>();
       for (TsFileProcessor tsFileProcessor :
           new ArrayList<>(workSequenceTsFileProcessors.values())) {
         tsFileProcessor.putMemTableBackAndClose();
+        closedTsFileResources.add(tsFileProcessor.getTsFileResource());
       }
       // to avoid concurrent modification problem, we need a new array list
       for (TsFileProcessor tsFileProcessor :
           new ArrayList<>(workUnsequenceTsFileProcessors.values())) {
         tsFileProcessor.putMemTableBackAndClose();
+        closedTsFileResources.add(tsFileProcessor.getTsFileResource());
+      }
+      for (TsFileResource resource : closedTsFileResources) {
+        FileMetrics.getInstance()
+            .addTsFile(
+                resource.getDatabaseName(),
+                resource.getDataRegionId(),
+                resource.getTsFileSize(),
+                resource.isSeq(),
+                resource.getTsFile().getName());
+        if (resource.modFileExists()) {
+          FileMetrics.getInstance().increaseModFileNum(1);
+          FileMetrics.getInstance().increaseModFileSize(resource.getModFile().getSize());
+        }
       }
       WritingMetrics.getInstance().recordActiveTimePartitionCount(-1);
     } finally {