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 <[email protected]>
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;
}
/**