This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git
The following commit(s) were added to refs/heads/develop by this push:
new 04bbc0a6 Check max tsfile version
04bbc0a6 is described below
commit 04bbc0a694dd1ac88d5d3a5b65ab4c0508cd8836
Author: shuwenwei <[email protected]>
AuthorDate: Mon Jul 21 15:30:48 2025 +0800
Check max tsfile version
---
.../apache/tsfile/exception/read/FileVersionTooOldException.java | 6 +++---
.../src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java | 5 +++--
.../src/test/java/org/apache/tsfile/utils/TsFileUtilsTest.java | 6 +++++-
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/exception/read/FileVersionTooOldException.java
b/java/tsfile/src/main/java/org/apache/tsfile/exception/read/FileVersionTooOldException.java
index 2176f7ff..ffa1b5f3 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/exception/read/FileVersionTooOldException.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/exception/read/FileVersionTooOldException.java
@@ -23,10 +23,10 @@ import java.io.IOException;
public class FileVersionTooOldException extends IOException {
- public FileVersionTooOldException(byte currentVersion, byte minimumVersion) {
+ public FileVersionTooOldException(byte currentVersion, byte minimumVersion,
byte maximumVersion) {
super(
String.format(
- "The current version %d is too old, please at least upgrade to %d",
- currentVersion, minimumVersion));
+ "The current version %d is not supported. Currently supported
versions are %d to %d.",
+ currentVersion, minimumVersion, maximumVersion));
}
}
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java
index 033e3d04..4330a600 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java
@@ -285,8 +285,9 @@ public class TsFileSequenceReader implements AutoCloseable {
}
private void checkFileVersion() throws FileVersionTooOldException {
- if (TSFileConfig.VERSION_NUMBER - fileVersion > 1) {
- throw new FileVersionTooOldException(fileVersion, (byte)
(TSFileConfig.VERSION_NUMBER - 1));
+ if (fileVersion < TSFileConfig.VERSION_NUMBER_V3 || fileVersion >
TSFileConfig.VERSION_NUMBER) {
+ throw new FileVersionTooOldException(
+ fileVersion, TSFileConfig.VERSION_NUMBER_V3,
TSFileConfig.VERSION_NUMBER);
}
}
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/utils/TsFileUtilsTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/utils/TsFileUtilsTest.java
index caf5401a..b6e79fcd 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/utils/TsFileUtilsTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/utils/TsFileUtilsTest.java
@@ -20,6 +20,7 @@ package org.apache.tsfile.utils;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.constant.TestConstant;
+import org.apache.tsfile.read.TsFileSequenceReader;
import org.apache.tsfile.write.writer.LocalTsFileOutput;
import org.apache.tsfile.write.writer.TsFileIOWriter;
@@ -67,6 +68,9 @@ public class TsFileUtilsTest {
@Test
public void isTsFileCompleteTest() throws IOException {
Assert.assertTrue(TsFileUtils.isTsFileComplete(new
File(COMPLETE_FILE_PATH)));
- Assert.assertFalse(TsFileUtils.isTsFileComplete(new
File(INCOMPLETE_FILE_PATH)));
+ try (TsFileSequenceReader reader = new
TsFileSequenceReader(INCOMPLETE_FILE_PATH)) {
+ Assert.fail();
+ } catch (Exception ignored) {
+ }
}
}