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

jiangtian 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 2995362e Fix npe when closing a last reader that have not been used 
(#513)
2995362e is described below

commit 2995362e424afba83e98676901e88abacc27b610
Author: Jiang Tian <[email protected]>
AuthorDate: Mon Jun 16 11:40:53 2025 +0800

    Fix npe when closing a last reader that have not been used (#513)
    
    * fix npe when closing a last reader that have not been used
    
    * spotless
---
 .../main/java/org/apache/tsfile/read/reader/TsFileLastReader.java   | 2 +-
 .../java/org/apache/tsfile/read/reader/TsFileLastReaderTest.java    | 6 ++++++
 2 files changed, 7 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..f04aeefb 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,10 @@ 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