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 2022/08/12 01:07:43 UTC

[iotdb] branch master updated: Fix cross space compaction validation test (#6954)

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 c076db05b8 Fix cross space compaction validation test (#6954)
c076db05b8 is described below

commit c076db05b8778835bd737b48cbb7e7ebb95962a2
Author: Liu Xuxin <37...@users.noreply.github.com>
AuthorDate: Fri Aug 12 09:07:37 2022 +0800

    Fix cross space compaction validation test (#6954)
---
 .../db/engine/storagegroup/TsFileResourceList.java   | 20 ++++++++++----------
 .../db/engine/compaction/AbstractCompactionTest.java |  6 ++++++
 .../cross/CrossSpaceCompactionValidationTest.java    |  1 +
 3 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
index 091d8f180e..33b5cdfa55 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
@@ -149,16 +149,16 @@ public class TsFileResourceList implements List<TsFileResource> {
     } else {
       // find the position to insert of this node
       // the list should be ordered by file timestamp
-      long timeOfNewNode =
-          TsFileNameGenerator.getTsFileName(newNode.getTsFile().getName()).getTime();
+      long versionOfNewNode =
+          TsFileNameGenerator.getTsFileName(newNode.getTsFile().getName()).getVersion();
 
-      if (TsFileNameGenerator.getTsFileName(header.getTsFile().getName()).getTime()
-          > timeOfNewNode) {
+      if (TsFileNameGenerator.getTsFileName(header.getTsFile().getName()).getVersion()
+          > versionOfNewNode) {
         // the timestamp of head node is greater than the new node
         // insert it before the head
         insertBefore(header, newNode);
-      } else if (TsFileNameGenerator.getTsFileName(tail.getTsFile().getName()).getTime()
-          < timeOfNewNode) {
+      } else if (TsFileNameGenerator.getTsFileName(tail.getTsFile().getName()).getVersion()
+          < versionOfNewNode) {
         // the timestamp of new node is greater than the tail node
         // insert it after the tail
         insertAfter(tail, newNode);
@@ -168,14 +168,14 @@ public class TsFileResourceList implements List<TsFileResource> {
         // and insert the new node before this node
         TsFileResource currNode = header;
         while (currNode.next != null) {
-          if (TsFileNameGenerator.getTsFileName(currNode.getTsFile().getName()).getTime()
-              > timeOfNewNode) {
+          if (TsFileNameGenerator.getTsFileName(currNode.getTsFile().getName()).getVersion()
+              > versionOfNewNode) {
             break;
           }
           currNode = currNode.next;
         }
-        if (TsFileNameGenerator.getTsFileName(currNode.getTsFile().getName()).getTime()
-            < timeOfNewNode) {
+        if (TsFileNameGenerator.getTsFileName(currNode.getTsFile().getName()).getVersion()
+            < versionOfNewNode) {
           LOGGER.error("Cannot find an appropriate place to insert {}", newNode);
         } else {
           insertBefore(currNode, newNode);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/AbstractCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/AbstractCompactionTest.java
index 106830240e..e4477b38a4 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/AbstractCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/AbstractCompactionTest.java
@@ -187,6 +187,12 @@ public class AbstractCompactionTest {
           isAlign,
           isSeq);
     }
+    // sleep a few milliseconds to avoid generating files with same timestamps
+    try {
+      Thread.sleep(10);
+    } catch (Exception e) {
+
+    }
   }
 
   private void addResource(
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 98c1419389..d9b0ee7364 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
@@ -65,6 +65,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
     super.tearDown();
     Thread.currentThread().setName(oldThreadName);
     FileReaderManager.getInstance().closeAndRemoveAllOpenedReaders();
+    TsFileValidationTool.badFileNum = 0;
   }
 
   /**