This is an automated email from the ASF dual-hosted git repository.
xingtanzjr 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 890e73907b delete snapshot (#8382)
890e73907b is described below
commit 890e73907b65234e3c9d044e94c366cfe19c94cc
Author: Alan Choo <[email protected]>
AuthorDate: Sun Dec 11 16:49:42 2022 +0800
delete snapshot (#8382)
---
.../java/org/apache/iotdb/db/engine/StorageEngine.java | 16 ++++++++++++++++
.../apache/iotdb/db/engine/snapshot/SnapshotTaker.java | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index 3818568a13..6b19953548 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -25,6 +25,7 @@ import
org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
import org.apache.iotdb.commons.conf.CommonDescriptor;
+import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.consensus.DataRegionId;
import org.apache.iotdb.commons.exception.ShutdownException;
import org.apache.iotdb.commons.file.SystemFileFactory;
@@ -653,9 +654,24 @@ public class StorageEngine implements IService {
&& config
.getDataRegionConsensusProtocolClass()
.equals(ConsensusFactory.IOT_CONSENSUS)) {
+ // delete wal
WALManager.getInstance()
.deleteWALNode(
region.getDatabaseName() + FILE_NAME_SEPARATOR +
region.getDataRegionId());
+ // delete snapshot
+ for (String dataDir : config.getDataDirs()) {
+ File regionSnapshotDir =
+ new File(
+ dataDir + File.separator +
IoTDBConstant.SNAPSHOT_FOLDER_NAME,
+ region.getDatabaseName() + FILE_NAME_SEPARATOR +
regionId.getId());
+ if (regionSnapshotDir.exists()) {
+ try {
+ FileUtils.deleteDirectory(regionSnapshotDir);
+ } catch (IOException e) {
+ logger.error("Failed to delete snapshot dir {}",
regionSnapshotDir, e);
+ }
+ }
+ }
}
SyncService.getInstance().unregisterDataRegion(region.getDataRegionId());
} catch (Exception e) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
b/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
index f6c27f1fbc..c801e40ddd 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
@@ -227,7 +227,7 @@ public class SnapshotTaker {
stringBuilder.append(IoTDBConstant.SNAPSHOT_FOLDER_NAME);
stringBuilder.append(File.separator);
stringBuilder.append(dataRegion.getDatabaseName());
- stringBuilder.append("-");
+ stringBuilder.append(IoTDBConstant.FILE_NAME_SEPARATOR);
stringBuilder.append(dataRegion.getDataRegionId());
stringBuilder.append(File.separator);
stringBuilder.append(snapshotId);