This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch fix_close_last_reader
in repository https://gitbox.apache.org/repos/asf/tsfile.git

commit 3e26aa039874a6c73f3d8d0538293c4aa07713c0
Author: Tian Jiang <[email protected]>
AuthorDate: Mon Jun 16 10:28:28 2025 +0800

    fix npe when closing a last reader that have not been used
---
 .../main/java/org/apache/tsfile/read/reader/TsFileLastReader.java  | 2 +-
 .../java/org/apache/tsfile/read/reader/TsFileLastReaderTest.java   | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/TsFileLastReader.java 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/TsFileLastReader.java
index f89b30df..312b73dd 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/read/reader/TsFileLastReader.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/read/reader/TsFileLastReader.java
@@ -305,7 +305,7 @@ public class TsFileLastReader
 
   @Override
   public void close() throws Exception {
-    if (asyncIO) {
+    if (asyncIO && asyncTask != null) {
       asyncTask.cancel(true);
     }
     sequenceReader.close();
diff --git 
a/java/tsfile/src/test/java/org/apache/tsfile/read/reader/TsFileLastReaderTest.java
 
b/java/tsfile/src/test/java/org/apache/tsfile/read/reader/TsFileLastReaderTest.java
index 40b1cc8f..ade6d70e 100644
--- 
a/java/tsfile/src/test/java/org/apache/tsfile/read/reader/TsFileLastReaderTest.java
+++ 
b/java/tsfile/src/test/java/org/apache/tsfile/read/reader/TsFileLastReaderTest.java
@@ -358,4 +358,11 @@ public class TsFileLastReaderTest {
     }
     file.delete();
   }
+
+  @Test
+  public void testCreateButNotRead() throws Exception {
+    createFile(10, 10, 10);
+    try (TsFileLastReader ignored = new TsFileLastReader(filePath)) {
+    }
+  }
 }

Reply via email to