This is an automated email from the ASF dual-hosted git repository.

xuba pushed a commit to branch v0.7.x-test-front
in repository https://gitbox.apache.org/repos/asf/amoro.git

commit 9ff2adc0b0b01db4fc29f228b76131d57d67a89f
Author: Paul Lin <[email protected]>
AuthorDate: Thu Mar 21 17:18:43 2024 +0800

    [Hotfix] Optimize codes of task status transition map (#2658)
    
    [Hotfix] optimize codes of task status transition map
    
    (cherry picked from commit 79e0ce6b7b9b91f3aa1076e3dfcc68d6266e8448)
---
 .../arctic/server/optimizing/TaskRuntime.java      | 34 ++++++++++------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git 
a/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
 
b/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
index 039201e31..122c0028d 100644
--- 
a/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
+++ 
b/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
@@ -18,7 +18,8 @@
 
 package com.netease.arctic.server.optimizing;
 
-import com.google.common.collect.Sets;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskId;
 import com.netease.arctic.api.OptimizingTaskResult;
@@ -37,7 +38,6 @@ import com.netease.arctic.server.resource.OptimizerThread;
 import com.netease.arctic.utils.SerializationUtil;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
-import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
@@ -318,22 +318,20 @@ public class TaskRuntime extends StatedPersistentBase {
     return new TaskQuota(this);
   }
 
-  private static final Map<Status, Set<Status>> nextStatusMap = new 
HashMap<>();
-
-  static {
-    nextStatusMap.put(
-        Status.PLANNED, Sets.newHashSet(Status.PLANNED, Status.SCHEDULED, 
Status.CANCELED));
-    nextStatusMap.put(
-        Status.SCHEDULED,
-        Sets.newHashSet(Status.PLANNED, Status.SCHEDULED, Status.ACKED, 
Status.CANCELED));
-    nextStatusMap.put(
-        Status.ACKED,
-        Sets.newHashSet(
-            Status.PLANNED, Status.ACKED, Status.SUCCESS, Status.FAILED, 
Status.CANCELED));
-    nextStatusMap.put(Status.FAILED, Sets.newHashSet(Status.PLANNED, 
Status.FAILED));
-    nextStatusMap.put(Status.SUCCESS, Sets.newHashSet(Status.SUCCESS));
-    nextStatusMap.put(Status.CANCELED, Sets.newHashSet(Status.CANCELED));
-  }
+  private static final Map<Status, Set<Status>> nextStatusMap =
+      ImmutableMap.<Status, Set<Status>>builder()
+          .put(Status.PLANNED, ImmutableSet.of(Status.PLANNED, 
Status.SCHEDULED, Status.CANCELED))
+          .put(
+              Status.SCHEDULED,
+              ImmutableSet.of(Status.PLANNED, Status.SCHEDULED, Status.ACKED, 
Status.CANCELED))
+          .put(
+              Status.ACKED,
+              ImmutableSet.of(
+                  Status.PLANNED, Status.ACKED, Status.SUCCESS, Status.FAILED, 
Status.CANCELED))
+          .put(Status.FAILED, ImmutableSet.of(Status.PLANNED, Status.FAILED))
+          .put(Status.SUCCESS, ImmutableSet.of(Status.SUCCESS))
+          .put(Status.CANCELED, ImmutableSet.of(Status.CANCELED))
+          .build();
 
   private class TaskStatusMachine {
 

Reply via email to