You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xu...@apache.org on 2020/11/19 03:08:20 UTC
[iotdb] branch master updated: [IOTDB-1017] Fix file version bug
(#2078)
This is an automated email from the ASF dual-hosted git repository.
xuekaifeng 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 6279fca [IOTDB-1017] Fix file version bug (#2078)
6279fca is described below
commit 6279fca8de9c6807e150e0c06550c31be3637e28
Author: SilverNarcissus <15...@smail.nju.edu.cn>
AuthorDate: Thu Nov 19 11:07:22 2020 +0800
[IOTDB-1017] Fix file version bug (#2078)
* fix bug
* fix test
---
.../iotdb/db/engine/storagegroup/StorageGroupProcessor.java | 4 ++--
.../org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java | 4 ++--
.../apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java | 8 ++++----
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index 919fcee..22ddad1 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -1025,7 +1025,7 @@ public class StorageGroupProcessor {
tsFileProcessor = new TsFileProcessor(storageGroupName,
fsFactory.getFileWithParent(filePath), storageGroupInfo,
versionController, this::closeUnsealedTsFileProcessorCallBack,
- this::updateLatestFlushTimeCallback, true);
+ this::updateLatestFlushTimeCallback, true, partitionMaxFileVersions.getOrDefault(timePartitionId, 0L));
if (enableMemControl) {
TsFileProcessorInfo tsFileProcessorInfo = new TsFileProcessorInfo(storageGroupInfo);
tsFileProcessor.setTsFileProcessorInfo(tsFileProcessorInfo);
@@ -1037,7 +1037,7 @@ public class StorageGroupProcessor {
tsFileProcessor = new TsFileProcessor(storageGroupName,
fsFactory.getFileWithParent(filePath), storageGroupInfo,
versionController, this::closeUnsealedTsFileProcessorCallBack,
- this::unsequenceFlushCallback, false);
+ this::unsequenceFlushCallback, false, partitionMaxFileVersions.getOrDefault(timePartitionId, 0L));
if (enableMemControl) {
TsFileProcessorInfo tsFileProcessorInfo = new TsFileProcessorInfo(storageGroupInfo);
tsFileProcessor.setTsFileProcessorInfo(tsFileProcessorInfo);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index b810774..1007948 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -129,7 +129,7 @@ public class TsFileProcessor {
StorageGroupInfo storageGroupInfo,
VersionController versionController,
CloseFileListener closeTsFileCallback,
- UpdateEndTimeCallBack updateLatestFlushTimeCallback, boolean sequence)
+ UpdateEndTimeCallBack updateLatestFlushTimeCallback, boolean sequence, long fileVersion)
throws IOException {
this.storageGroupName = storageGroupName;
this.tsFileResource = new TsFileResource(tsfile, this);
@@ -143,7 +143,7 @@ public class TsFileProcessor {
logger.info("create a new tsfile processor {}", tsfile.getAbsolutePath());
// a file generated by flush has only one historical version, which is itself
this.tsFileResource
- .setHistoricalVersions(Collections.singleton(versionController.currVersion()));
+ .setHistoricalVersions(Collections.singleton(fileVersion));
flushListeners.add(new WALFlushListener(this));
closeFileListeners.add(closeTsFileCallback);
}
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java
index 9ba80bb..3efc71d 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java
@@ -87,7 +87,7 @@ public class TsFileProcessorTest {
logger.info("testWriteAndFlush begin..");
processor = new TsFileProcessor(storageGroup, SystemFileFactory.INSTANCE.getFile(filePath), sgInfo,
SysTimeVersionController.INSTANCE, this::closeTsFileProcessor,
- (tsFileProcessor) -> true, true);
+ (tsFileProcessor) -> true, true, 1);
TsFileProcessorInfo tsFileProcessorInfo = new TsFileProcessorInfo(sgInfo);
processor.setTsFileProcessorInfo(tsFileProcessorInfo);
@@ -143,7 +143,7 @@ public class TsFileProcessorTest {
logger.info("testWriteAndRestoreMetadata begin..");
processor = new TsFileProcessor(storageGroup, SystemFileFactory.INSTANCE.getFile(filePath), sgInfo,
SysTimeVersionController.INSTANCE, this::closeTsFileProcessor,
- (tsFileProcessor) -> true, true);
+ (tsFileProcessor) -> true, true, 1);
TsFileProcessorInfo tsFileProcessorInfo = new TsFileProcessorInfo(sgInfo);
processor.setTsFileProcessorInfo(tsFileProcessorInfo);
@@ -226,7 +226,7 @@ public class TsFileProcessorTest {
logger.info("testWriteAndRestoreMetadata begin..");
processor = new TsFileProcessor(storageGroup, SystemFileFactory.INSTANCE.getFile(filePath), sgInfo,
SysTimeVersionController.INSTANCE, this::closeTsFileProcessor,
- (tsFileProcessor) -> true, true);
+ (tsFileProcessor) -> true, true, 1);
TsFileProcessorInfo tsFileProcessorInfo = new TsFileProcessorInfo(sgInfo);
processor.setTsFileProcessorInfo(tsFileProcessorInfo);
@@ -267,7 +267,7 @@ public class TsFileProcessorTest {
logger.info("testWriteAndRestoreMetadata begin..");
processor = new TsFileProcessor(storageGroup, SystemFileFactory.INSTANCE.getFile(filePath), sgInfo,
SysTimeVersionController.INSTANCE, this::closeTsFileProcessor,
- (tsFileProcessor) -> true, true);
+ (tsFileProcessor) -> true, true, 1);
TsFileProcessorInfo tsFileProcessorInfo = new TsFileProcessorInfo(sgInfo);
processor.setTsFileProcessorInfo(tsFileProcessorInfo);