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)

Reply via email to