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();
}
}