This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 67f96c5706 [IOTDB-4533] delete an unexpected folder is added (#7470)
67f96c5706 is described below
commit 67f96c5706b617c9e6f06383818cc5286c0969fd
Author: yschengzi <[email protected]>
AuthorDate: Thu Sep 29 11:31:47 2022 +0800
[IOTDB-4533] delete an unexpected folder is added (#7470)
---
.../iotdb/db/engine/load/LoadTsFileManager.java | 35 ++++++++++++++--------
1 file changed, 23 insertions(+), 12 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/load/LoadTsFileManager.java
b/server/src/main/java/org/apache/iotdb/db/engine/load/LoadTsFileManager.java
index 48be7a395e..e9d72488a9 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/load/LoadTsFileManager.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/load/LoadTsFileManager.java
@@ -44,6 +44,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantLock;
/**
@@ -58,26 +59,19 @@ public class LoadTsFileManager {
private final File loadDir;
- private Map<String, TsFileWriterManager> uuid2WriterManager;
- private Map<String, Integer> dataPartition2NextTsFileIndex;
+ private final Map<String, TsFileWriterManager> uuid2WriterManager;
+ private final Map<String, Integer> dataPartition2NextTsFileIndex;
private final ReentrantLock lock;
public LoadTsFileManager() {
this.loadDir =
SystemFileFactory.INSTANCE.getFile(config.getLoadTsFileDir());
- this.uuid2WriterManager = new HashMap<>();
+ this.uuid2WriterManager = new ConcurrentHashMap<>();
this.dataPartition2NextTsFileIndex = new HashMap<>();
this.lock = new ReentrantLock();
- clearDir(loadDir);
- }
-
- private void clearDir(File dir) {
- if (dir.delete()) {
- logger.info(String.format("Delete origin load TsFile dir %s.",
dir.getPath()));
- }
- if (!dir.mkdirs()) {
- logger.warn(String.format("load TsFile dir %s can not be created.",
dir.getPath()));
+ if (loadDir.delete()) {
+ logger.info(String.format("Delete origin load TsFile dir %s.",
loadDir.getPath()));
}
}
@@ -99,6 +93,7 @@ public class LoadTsFileManager {
uuid2WriterManager.get(uuid).loadAll();
uuid2WriterManager.get(uuid).close();
uuid2WriterManager.remove(uuid);
+ clean();
return true;
}
@@ -108,6 +103,7 @@ public class LoadTsFileManager {
}
uuid2WriterManager.get(uuid).close();
uuid2WriterManager.remove(uuid);
+ clean();
return true;
}
@@ -125,6 +121,12 @@ public class LoadTsFileManager {
}
}
+ private void clean() {
+ if (loadDir.delete()) { // this method will check if there sub-dir in this
dir.
+ logger.info(String.format("Delete load dir %s.", loadDir.getPath()));
+ }
+ }
+
private class TsFileWriterManager {
private final File taskDir;
private Map<DataPartitionInfo, TsFileIOWriter> dataPartition2Writer;
@@ -138,6 +140,15 @@ public class LoadTsFileManager {
clearDir(taskDir);
}
+ private void clearDir(File dir) {
+ if (dir.delete()) {
+ logger.info(String.format("Delete origin load TsFile dir %s.",
dir.getPath()));
+ }
+ if (!dir.mkdirs()) {
+ logger.warn(String.format("load TsFile dir %s can not be created.",
dir.getPath()));
+ }
+ }
+
private void write(DataPartitionInfo partitionInfo, ChunkData chunkData)
throws IOException {
if (!dataPartition2Writer.containsKey(partitionInfo)) {
File newTsFile =