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

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

commit 84ada600bde6f63e4b0f6e00e042d519c897ff3b
Author: Liu Xuxin <[email protected]>
AuthorDate: Mon Dec 26 16:45:07 2022 +0800

    fix recover problem of metrics
---
 .../org/apache/iotdb/db/engine/storagegroup/DataRegion.java  | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java 
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index 32bc40dae1..c2ad3beda0 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -452,10 +452,14 @@ public class DataRegion implements IDataRegionForQuery {
       List<WALRecoverListener> recoverListeners = new ArrayList<>();
       for (List<TsFileResource> value : partitionTmpSeqTsFiles.values()) {
         // tsFiles without resource file are unsealed
+        for (TsFileResource resource : value) {
+          if (resource.resourceFileExists()) {
+            
TsFileMetricManager.getInstance().addFile(resource.getTsFile().length(), true);
+          }
+        }
         while (!value.isEmpty()) {
           TsFileResource tsFileResource = value.get(value.size() - 1);
           if (tsFileResource.resourceFileExists()) {
-            
TsFileMetricManager.getInstance().addFile(tsFileResource.getTsFile().length(), 
true);
             break;
           } else {
             value.remove(value.size() - 1);
@@ -469,10 +473,14 @@ public class DataRegion implements IDataRegionForQuery {
       }
       for (List<TsFileResource> value : partitionTmpUnseqTsFiles.values()) {
         // tsFiles without resource file are unsealed
+        for (TsFileResource resource : value) {
+          if (resource.resourceFileExists()) {
+            
TsFileMetricManager.getInstance().addFile(resource.getTsFile().length(), false);
+          }
+        }
         while (!value.isEmpty()) {
           TsFileResource tsFileResource = value.get(value.size() - 1);
           if (tsFileResource.resourceFileExists()) {
-            
TsFileMetricManager.getInstance().addFile(tsFileResource.getTsFile().length(), 
false);
             break;
           } else {
             value.remove(value.size() - 1);

Reply via email to