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 <55970239+shuwen...@users.noreply.github.com>
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) {
+    }
   }
 }

Reply via email to