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;
}
/**