From 84790e0578723dad6cb13b7b6d62d9fc29c12506 Mon Sep 17 00:00:00 2001 From: shuwenwei Date: Thu, 6 Aug 2026 16:13:12 +0800 Subject: [PATCH 1/2] fix(tsfile): propagate IOException on writer close instead of swallowing it --- .../write/v4/AbstractTableModelTsFileWriter.java | 10 +++------- .../java/org/apache/tsfile/write/v4/ITsFileWriter.java | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java index 108de0051..cf7e3b651 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java @@ -271,13 +271,9 @@ public void addTsFileProperty(String key, byte[] value) { */ @Override @TsFileApi - public void close() { + public void close() throws IOException { LOG.info(Messages.get("log.write.close_file")); - try { - flush(); - fileWriter.endFile(); - } catch (IOException e) { - LOG.warn(Messages.get("log.write.close_file_exception"), e); - } + flush(); + fileWriter.endFile(); } } diff --git a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java index d20c432c5..809d1e5cf 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java @@ -32,7 +32,7 @@ public interface ITsFileWriter extends AutoCloseable { void write(Tablet tablet) throws IOException, WriteProcessException; @TsFileApi - void close(); + void close() throws IOException; @TsFileApi void write(TSRecord record) throws IOException, WriteProcessException; From c4f86d42358548cfd3c3074779843f83306f3e75 Mon Sep 17 00:00:00 2001 From: shuwenwei Date: Thu, 6 Aug 2026 16:15:27 +0800 Subject: [PATCH 2/2] chore(tsfile): remove unused close_file_exception i18n key --- .../main/resources/org/apache/tsfile/i18n/messages.properties | 3 --- .../resources/org/apache/tsfile/i18n/messages_zh.properties | 3 --- 2 files changed, 6 deletions(-) diff --git a/java/common/src/main/resources/org/apache/tsfile/i18n/messages.properties b/java/common/src/main/resources/org/apache/tsfile/i18n/messages.properties index 9f6f35857..ffea7c054 100644 --- a/java/common/src/main/resources/org/apache/tsfile/i18n/messages.properties +++ b/java/common/src/main/resources/org/apache/tsfile/i18n/messages.properties @@ -202,9 +202,6 @@ log.write.flush_chunk_groups = start to flush chunk groups, memory space occupy: # TsFileWriter / AbstractTableModelTsFileWriter — close file (2 files, 1 key) log.write.close_file = start close file -# AbstractTableModelTsFileWriter — close file exception (1 site) -log.write.close_file_exception = Meet exception when close file writer. - # TsFileWriter / AbstractTableModelTsFileWriter — page size vs chunk group size warn (2 files, 1 key) log.write.page_size_warn = TsFile's page size {} is greater than chunk group size {}, please enlarge the chunk group size or decrease page size. diff --git a/java/common/src/main/resources/org/apache/tsfile/i18n/messages_zh.properties b/java/common/src/main/resources/org/apache/tsfile/i18n/messages_zh.properties index 17c341af2..453977c76 100644 --- a/java/common/src/main/resources/org/apache/tsfile/i18n/messages_zh.properties +++ b/java/common/src/main/resources/org/apache/tsfile/i18n/messages_zh.properties @@ -202,9 +202,6 @@ log.write.flush_chunk_groups = 开始刷新 chunk groups,占用内存空间: { # TsFileWriter / AbstractTableModelTsFileWriter — close file (2 files, 1 key) log.write.close_file = 开始关闭文件 -# AbstractTableModelTsFileWriter — close file exception (1 site) -log.write.close_file_exception = 关闭文件 writer 时发生异常。 - # TsFileWriter / AbstractTableModelTsFileWriter — page size vs chunk group size warn (2 files, 1 key) log.write.page_size_warn = TsFile 的 page size {} 大于 chunk group size {},请增大 chunk group size 或减小 page size。