You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2020/11/19 03:39:52 UTC
[iotdb] branch rel/0.11 updated: [IOTDB-1017] Fix file version bug
(#2078)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch rel/0.11
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/0.11 by this push:
new 7bcccda [IOTDB-1017] Fix file version bug (#2078)
7bcccda is described below
commit 7bcccda80ccc36165f48773f474094a120c9d759
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
(cherry picked from commit 6279fca8de9c6807e150e0c06550c31be3637e28)
---
.../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 9475431..5cd831a 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
@@ -1024,7 +1024,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);
@@ -1036,7 +1036,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 19323d9..35d9876 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);
@@ -225,7 +225,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);
@@ -266,7 +266,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);