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

haonan pushed a commit to branch fix_recover_empty_resource
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 76e63f7b039d105c9334e50d3e6c8e5eb384a817
Author: HTHou <[email protected]>
AuthorDate: Wed Nov 1 15:46:58 2023 +0800

    fix empty resource recovered from wal
---
 .../java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java | 4 ++++
 1 file changed, 4 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 3d63bc658ba..3398f66e876 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -724,6 +724,10 @@ public class DataRegion implements IDataRegionForQuery {
       TsFileResource tsFileResource = recoverPerformer.getTsFileResource();
       boolean isSeq = recoverPerformer.isSequence();
       if (!recoverPerformer.canWrite()) {
+        if (!TsFileValidator.getInstance().validateTsFile(tsFileResource)) {
+          tsFileResource.remove();
+          return;
+        }
         // cannot write, just close it
         try {
           tsFileResource.close();

Reply via email to