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/08/25 08:47:33 UTC

[iotdb] branch rel/0.13 updated: [To rel/0.13][IOTDB-4201]Support TsFiles Validation between time partitions (#7080)

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

qiaojialin pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.13 by this push:
     new 932a601cb8 [To rel/0.13][IOTDB-4201]Support TsFiles Validation between time partitions (#7080)
932a601cb8 is described below

commit 932a601cb8cc8150242ed3ba2b661630b10174c0
Author: 周沛辰 <45...@users.noreply.github.com>
AuthorDate: Thu Aug 25 16:47:26 2022 +0800

    [To rel/0.13][IOTDB-4201]Support TsFiles Validation between time partitions (#7080)
---
 .../db/tools/validate/TsFileValidationTool.java    | 25 +++++++++++++++-------
 .../cross/CrossSpaceCompactionValidationTest.java  |  1 +
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java b/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java
index 09c12e45bc..e3292ad9da 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java
@@ -85,6 +85,15 @@ public class TsFileValidationTool {
   private static final List<File> fileList = new ArrayList<>();
   public static int badFileNum = 0;
 
+  // measurementID -> <fileName, [lastTime, endTimeInLastFile]>
+  private static final Map<String, Pair<String, long[]>> measurementLastTime = new HashMap<>();
+
+  // deviceID -> <fileName, endTime>, the endTime of device in the last seq file
+  private static final Map<String, Pair<String, Long>> deviceEndTime = new HashMap<>();
+
+  // fileName -> isBadFile
+  private static final Map<String, Boolean> isBadFileMap = new HashMap<>();
+
   /**
    * The form of param is: [path of data dir or tsfile] [-pd = print details or not] [-f = path of
    * outFile]. Eg: xxx/iotdb/data/data1 xxx/xxx.tsfile -pd=true -f=xxx/TsFile_validation_view.txt
@@ -154,6 +163,7 @@ public class TsFileValidationTool {
                         Long.parseLong(f2.getName().split("-")[0])));
             findUncorrectFiles(tsFiles);
           }
+          clearMap();
         }
       }
     }
@@ -166,13 +176,6 @@ public class TsFileValidationTool {
   }
 
   public static void findUncorrectFiles(List<File> tsFiles) {
-    // measurementID -> <fileName, [lastTime, endTimeInLastFile]>
-    Map<String, Pair<String, long[]>> measurementLastTime = new HashMap<>();
-    // deviceID -> <fileName, endTime>, the endTime of device in the last seq file
-    Map<String, Pair<String, Long>> deviceEndTime = new HashMap<>();
-    // fileName -> isBadFile
-    Map<String, Boolean> isBadFileMap = new HashMap<>();
-
     for (File tsFile : tsFiles) {
       List<String> previousBadFileMsgs = new ArrayList<>();
       try {
@@ -522,7 +525,7 @@ public class TsFileValidationTool {
     }
   }
 
-  public static boolean checkArgs(String[] args) {
+  private static boolean checkArgs(String[] args) {
     if (args.length < 1) {
       System.out.println(
           "Please input correct param, which is [path of data dir] [-pd = print details or not] [-f = path of outFile]. Eg: xxx/iotdb/data/data -pd=true -f=xxx/TsFile_validation_view.txt");
@@ -562,6 +565,12 @@ public class TsFileValidationTool {
     }
   }
 
+  public static void clearMap() {
+    measurementLastTime.clear();
+    deviceEndTime.clear();
+    isBadFileMap.clear();
+  }
+
   private static boolean checkIsDirectory(File dir) {
     boolean res = true;
     if (!dir.isDirectory()) {
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
index afc41395d8..83ac4b538b 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
@@ -1760,5 +1760,6 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
     }
     TsFileValidationTool.findUncorrectFiles(files);
     Assert.assertEquals(0, TsFileValidationTool.badFileNum);
+    TsFileValidationTool.clearMap();
   }
 }