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) { + } } }