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

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


The following commit(s) were added to refs/heads/object_type by this push:
     new e7a058755aa delete object file when drop database
e7a058755aa is described below

commit e7a058755aa9287e7b1c00bba256a50909f77077
Author: HTHou <[email protected]>
AuthorDate: Wed Jul 9 17:14:06 2025 +0800

    delete object file when drop database
---
 .../iotdb/db/storageengine/dataregion/DataRegion.java | 19 +++++++++++++++++++
 1 file changed, 19 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 ddd56380a14..2197ee628c1 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
@@ -1838,6 +1838,7 @@ public class DataRegion implements IDataRegionForQuery {
             }
           });
       deleteAllSGFolders(TierManager.getInstance().getAllFilesFolders());
+      
deleteAllObjectFiles(TierManager.getInstance().getAllObjectFileFolders());
       this.workSequenceTsFileProcessors.clear();
       this.workUnsequenceTsFileProcessors.clear();
       this.tsFileManager.clear();
@@ -1875,6 +1876,24 @@ public class DataRegion implements IDataRegionForQuery {
     }
   }
 
+  private void deleteAllObjectFiles(List<String> folders) {
+    for (String objectFolder : folders) {
+      File dataRegionObjectFolder = fsFactory.getFile(objectFolder, 
dataRegionId);
+      if (FSUtils.getFSType(dataRegionObjectFolder) != FSType.LOCAL) {
+        try {
+          fsFactory.deleteDirectory(dataRegionObjectFolder.getPath());
+        } catch (IOException e) {
+          logger.error("Fail to delete data region object folder {}", 
dataRegionObjectFolder);
+        }
+      } else {
+        if (dataRegionObjectFolder.exists()) {
+          org.apache.iotdb.commons.utils.FileUtils.deleteFileOrDirectory(
+              dataRegionObjectFolder);
+        }
+      }
+    }
+  }
+
   public void timedFlushSeqMemTable() {
     int count = 0;
     writeLock("timedFlushSeqMemTable");

Reply via email to