This is an automated email from the ASF dual-hosted git repository.
tanxinyu 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 796dd5a5399 add transformStatus method in TsFileResource (#12526)
796dd5a5399 is described below
commit 796dd5a53997a81121870753e64aed2f0babe2b9
Author: shuwenwei <[email protected]>
AuthorDate: Wed May 15 09:57:03 2024 +0800
add transformStatus method in TsFileResource (#12526)
---
.../dataregion/compaction/execute/task/AbstractCompactionTask.java | 4 ++--
.../iotdb/db/storageengine/dataregion/tsfile/TsFileResource.java | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/AbstractCompactionTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/AbstractCompactionTask.java
index ae252836a45..2188ae7da5f 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/AbstractCompactionTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/AbstractCompactionTask.java
@@ -123,7 +123,7 @@ public abstract class AbstractCompactionTask {
public boolean setSourceFilesToCompactionCandidate() {
List<TsFileResource> files = getAllSourceTsFiles();
for (int i = 0; i < files.size(); i++) {
- if (!files.get(i).setStatus(TsFileResourceStatus.COMPACTION_CANDIDATE)) {
+ if
(!files.get(i).transformStatus(TsFileResourceStatus.COMPACTION_CANDIDATE)) {
// rollback status to NORMAL
for (int j = 0; j < i; j++) {
files.get(j).setStatus(TsFileResourceStatus.NORMAL);
@@ -251,7 +251,7 @@ public abstract class AbstractCompactionTask {
public void transitSourceFilesToMerging() throws
FileCannotTransitToCompactingException {
for (TsFileResource f : getAllSourceTsFiles()) {
- if (!f.setStatus(TsFileResourceStatus.COMPACTING)) {
+ if (!f.transformStatus(TsFileResourceStatus.COMPACTING)) {
throw new FileCannotTransitToCompactingException(f);
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/TsFileResource.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/TsFileResource.java
index 34396730eb3..31213af5011 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/TsFileResource.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/TsFileResource.java
@@ -645,6 +645,11 @@ public class TsFileResource {
if (status == getStatus()) {
return true;
}
+ return transformStatus(status);
+ }
+
+ /** Return false if the status is not changed */
+ public boolean transformStatus(TsFileResourceStatus status) {
switch (status) {
case NORMAL:
return compareAndSetStatus(TsFileResourceStatus.UNCLOSED,
TsFileResourceStatus.NORMAL)