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 86efede983 [IOTDB-3736] Remove DELETED status for TsFileResource
(#6618)
86efede983 is described below
commit 86efede983704c75284a0cda7260a0c64570567d
Author: Liu Xuxin <[email protected]>
AuthorDate: Mon Jul 11 17:29:56 2022 +0800
[IOTDB-3736] Remove DELETED status for TsFileResource (#6618)
---
.../db/engine/compaction/CompactionExceptionHandler.java | 3 ---
.../iotdb/db/engine/compaction/CompactionUtils.java | 4 +---
.../engine/compaction/cross/CrossSpaceCompactionTask.java | 1 -
.../apache/iotdb/db/engine/storagegroup/DataRegion.java | 3 ---
.../iotdb/db/engine/storagegroup/TsFileResource.java | 15 ++-------------
.../db/engine/storagegroup/TsFileResourceStatus.java | 3 +--
.../iotdb/db/tools/settle/TsFileAndModSettleTool.java | 3 ---
7 files changed, 4 insertions(+), 28 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionExceptionHandler.java
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionExceptionHandler.java
index 3523394333..5581e2f8c2 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionExceptionHandler.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionExceptionHandler.java
@@ -24,7 +24,6 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.engine.storagegroup.TsFileResourceList;
-import org.apache.iotdb.db.engine.storagegroup.TsFileResourceStatus;
import org.apache.iotdb.db.rescon.TsFileResourceManager;
import org.apache.iotdb.tsfile.utils.TsFileUtils;
@@ -212,11 +211,9 @@ public class CompactionExceptionHandler {
// delete source files
for (TsFileResource resource : sourceSeqResourceList) {
- resource.setStatus(TsFileResourceStatus.DELETED);
resource.remove();
}
for (TsFileResource resource : sourceUnseqResourceList) {
- resource.setStatus(TsFileResourceStatus.DELETED);
resource.remove();
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionUtils.java
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionUtils.java
index fb143e1e6f..d628bd562d 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionUtils.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionUtils.java
@@ -28,7 +28,6 @@ import org.apache.iotdb.db.engine.modification.Modification;
import org.apache.iotdb.db.engine.modification.ModificationFile;
import org.apache.iotdb.db.engine.storagegroup.TsFileNameGenerator;
import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
-import org.apache.iotdb.db.engine.storagegroup.TsFileResourceStatus;
import org.apache.iotdb.db.query.control.FileReaderManager;
import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
@@ -197,8 +196,7 @@ public class CompactionUtils {
public static boolean deleteTsFile(TsFileResource seqFile) {
try {
FileReaderManager.getInstance().closeFileAndRemoveReader(seqFile.getTsFilePath());
- seqFile.setStatus(TsFileResourceStatus.DELETED);
- seqFile.delete();
+ seqFile.remove();
} catch (IOException e) {
logger.error(e.getMessage(), e);
return false;
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
index bd20b35bdb..ab6725440e 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
@@ -273,7 +273,6 @@ public class CrossSpaceCompactionTask extends
AbstractCompactionTask {
private void deleteOldFiles(List<TsFileResource> tsFileResourceList) throws
IOException {
for (TsFileResource tsFileResource : tsFileResourceList) {
FileReaderManager.getInstance().closeFileAndRemoveReader(tsFileResource.getTsFilePath());
- tsFileResource.setStatus(TsFileResourceStatus.DELETED);
tsFileResource.remove();
LOGGER.info(
"[CrossSpaceCompaction] Delete TsFile :{}.",
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index 54834733e7..a419f18373 100755
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -1756,9 +1756,6 @@ public class DataRegion {
return;
}
- // prevent new merges and queries from choosing this file
- resource.setStatus(TsFileResourceStatus.DELETED);
-
// ensure that the file is not used by any queries
if (resource.tryWriteLock()) {
try {
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
index d7a48abd53..5cb7e0505d 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
@@ -572,7 +572,7 @@ public class TsFileResource {
}
public boolean isDeleted() {
- return this.status == TsFileResourceStatus.DELETED;
+ return !this.file.exists();
}
public boolean isCompacting() {
@@ -586,22 +586,11 @@ public class TsFileResource {
public void setStatus(TsFileResourceStatus status) {
switch (status) {
case CLOSED:
- if (this.status != TsFileResourceStatus.DELETED) {
- this.status = TsFileResourceStatus.CLOSED;
- }
+ this.status = TsFileResourceStatus.CLOSED;
break;
case UNCLOSED:
this.status = TsFileResourceStatus.UNCLOSED;
break;
- case DELETED:
- if (this.status != TsFileResourceStatus.UNCLOSED) {
- this.status = TsFileResourceStatus.DELETED;
- } else {
- throw new RuntimeException(
- this.file.getAbsolutePath()
- + " Cannot set the status of an unclosed TsFileResource to
DELETED");
- }
- break;
case COMPACTING:
if (this.status == TsFileResourceStatus.COMPACTION_CANDIDATE) {
this.status = TsFileResourceStatus.COMPACTING;
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceStatus.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceStatus.java
index 42eaf481d3..bf8805db65 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceStatus.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceStatus.java
@@ -22,6 +22,5 @@ public enum TsFileResourceStatus {
UNCLOSED,
CLOSED,
COMPACTION_CANDIDATE,
- COMPACTING,
- DELETED
+ COMPACTING
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
b/server/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
index 90cf73314e..7796ba1389 100644
---
a/server/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
+++
b/server/src/main/java/org/apache/iotdb/db/tools/settle/TsFileAndModSettleTool.java
@@ -215,9 +215,6 @@ public class TsFileAndModSettleTool {
try (TsFileRewriteTool tsFileRewriteTool = new
TsFileRewriteTool(resourceToBeSettled)) {
tsFileRewriteTool.parseAndRewriteFile(settledResources);
}
- if (settledResources.size() == 0) {
- resourceToBeSettled.setStatus(TsFileResourceStatus.DELETED);
- }
}
public static void findFilesToBeRecovered() {