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

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

commit c91ba7444b8171ccccf1c04807587f4dd2164610
Author: HTHou <[email protected]>
AuthorDate: Wed Sep 4 11:37:16 2024 +0800

    Fix error log when drop database or migrate region
---
 .../dataregion/tsfile/timeindex/FileTimeIndexCacheRecorder.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/FileTimeIndexCacheRecorder.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/FileTimeIndexCacheRecorder.java
index d6eb597922e..e744085f8f0 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/FileTimeIndexCacheRecorder.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/timeindex/FileTimeIndexCacheRecorder.java
@@ -42,7 +42,7 @@ import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
-import static 
org.apache.iotdb.commons.utils.FileUtils.deleteDirectoryAndEmptyParent;
+import static org.apache.iotdb.commons.utils.FileUtils.deleteFileOrDirectory;
 import static 
org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource.getFileTimeIndexSerializedSize;
 
 public class FileTimeIndexCacheRecorder {
@@ -193,10 +193,11 @@ public class FileTimeIndexCacheRecorder {
   }
 
   public void removeFileTimeIndexCache(int dataRegionId) {
-    for (FileTimeIndexCacheWriter writer : writerMap.values()) {
+    FileTimeIndexCacheWriter writer = writerMap.get(dataRegionId);
+    if (writer != null) {
       try {
         writer.close();
-        deleteDirectoryAndEmptyParent(writer.getLogFile());
+        deleteFileOrDirectory(writer.getLogFile(), true);
       } catch (IOException e) {
         LOGGER.warn("Meet error when close FileTimeIndexCache: {}", 
e.getMessage());
       }

Reply via email to