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 {
