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/04/29 11:44:46 UTC
[iotdb] branch master updated: [IOTDB-3026] fix cannot load tsfile correctly after restart iotdb (#5702)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin 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 20c527ffd3 [IOTDB-3026] fix cannot load tsfile correctly after restart iotdb (#5702)
20c527ffd3 is described below
commit 20c527ffd3f468d7f19a9b27996a5a9368a2768b
Author: Chen YZ <43...@users.noreply.github.com>
AuthorDate: Fri Apr 29 19:44:41 2022 +0800
[IOTDB-3026] fix cannot load tsfile correctly after restart iotdb (#5702)
---
.../iotdb/cluster/log/snapshot/FileSnapshotTest.java | 20 ++++++++++----------
.../log/snapshot/PartitionedSnapshotTest.java | 6 +++---
.../cluster/log/snapshot/PullSnapshotTaskTest.java | 2 +-
.../iotdb/db/engine/storagegroup/DataRegion.java | 4 ++--
4 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java
index 73f44563bd..d636ef73b3 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java
@@ -119,10 +119,10 @@ public class FileSnapshotTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(9, processor.getPartitionMaxFileVersions(0));
+ assertEquals(10, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(tsFileResources.size(), loadedFiles.size());
- for (int i = 0; i < 9; i++) {
+ for (int i = 0; i < loadedFiles.size(); i++) {
assertEquals(i, loadedFiles.get(i).getMaxPlanIndex());
}
assertEquals(0, processor.getUnSequenceFileList().size());
@@ -163,10 +163,10 @@ public class FileSnapshotTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(9, processor.getPartitionMaxFileVersions(0));
+ assertEquals(10, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(tsFileResources.size(), loadedFiles.size());
- for (int i = 0; i < 9; i++) {
+ for (int i = 0; i < loadedFiles.size(); i++) {
assertEquals(i, loadedFiles.get(i).getMaxPlanIndex());
}
assertEquals(0, processor.getUnSequenceFileList().size());
@@ -213,10 +213,10 @@ public class FileSnapshotTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(9, processor.getPartitionMaxFileVersions(0));
+ assertEquals(10, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(tsFileResources.size(), loadedFiles.size());
- for (int i = 0; i < 9; i++) {
+ for (int i = 0; i < loadedFiles.size(); i++) {
assertEquals(i, loadedFiles.get(i).getMaxPlanIndex());
ModificationFile modFile = loadedFiles.get(i).getModFile();
assertTrue(modFile.exists());
@@ -253,10 +253,10 @@ public class FileSnapshotTest extends DataSnapshotTest {
for (int j = 0; j < 10; j++) {
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(j)));
- assertEquals(9, processor.getPartitionMaxFileVersions(0));
+ assertEquals(10, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(10, loadedFiles.size());
- for (int i = 0; i < 9; i++) {
+ for (int i = 0; i < loadedFiles.size(); i++) {
assertEquals(i, loadedFiles.get(i).getMaxPlanIndex());
}
assertEquals(0, processor.getUnSequenceFileList().size());
@@ -299,10 +299,10 @@ public class FileSnapshotTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(10, processor.getPartitionMaxFileVersions(0));
+ assertEquals(11, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(tsFileResources.size(), loadedFiles.size());
- for (int i = 0; i < 9; i++) {
+ for (int i = 0; i < loadedFiles.size(); i++) {
assertEquals(i, loadedFiles.get(i).getMaxPlanIndex());
}
assertEquals(1, processor.getUnSequenceFileList().size());
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java
index dea05a1dbd..f769ce3e74 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java
@@ -112,10 +112,10 @@ public class PartitionedSnapshotTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(9, processor.getPartitionMaxFileVersions(0));
+ assertEquals(10, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(tsFileResources.size(), loadedFiles.size());
- for (int i = 0; i < 9; i++) {
+ for (int i = 0; i < loadedFiles.size(); i++) {
assertEquals(i, loadedFiles.get(i).getMaxPlanIndex());
}
assertEquals(0, processor.getUnSequenceFileList().size());
@@ -189,7 +189,7 @@ public class PartitionedSnapshotTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(-1, processor.getPartitionMaxFileVersions(0));
+ assertEquals(0, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(0, loadedFiles.size());
assertEquals(0, processor.getUnSequenceFileList().size());
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java
index 2bf2c8da52..76123de15a 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java
@@ -294,7 +294,7 @@ public class PullSnapshotTaskTest extends DataSnapshotTest {
}
DataRegion processor =
StorageEngine.getInstance().getProcessor(new PartialPath(TestUtils.getTestSg(0)));
- assertEquals(9, processor.getPartitionMaxFileVersions(0));
+ assertEquals(10, processor.getPartitionMaxFileVersions(0));
List<TsFileResource> loadedFiles = processor.getSequenceFileList();
assertEquals(tsFileResources.size(), loadedFiles.size());
for (int i = 0; i < 9; i++) {
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index 981217375b..40b2fa1659 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -2716,7 +2716,7 @@ public class DataRegion {
}
private long getAndSetNewVersion(long timePartitionId, TsFileResource tsFileResource) {
- long version = partitionMaxFileVersions.getOrDefault(timePartitionId, -1L) + 1;
+ long version = partitionMaxFileVersions.getOrDefault(timePartitionId, 0L) + 1;
partitionMaxFileVersions.put(timePartitionId, version);
tsFileResource.setVersion(version);
return version;
@@ -3348,7 +3348,7 @@ public class DataRegion {
@TestOnly
public long getPartitionMaxFileVersions(long partitionId) {
- return partitionMaxFileVersions.getOrDefault(partitionId, -1L);
+ return partitionMaxFileVersions.getOrDefault(partitionId, 0L);
}
public void addSettleFilesToList(