From e712e55dcf9b4bcf63bff2bae41323db90e4a834 Mon Sep 17 00:00:00 2001 From: SEPURI-SAI-KRISHNA Date: Wed, 16 Sep 2026 17:01:00 +0530 Subject: [PATCH] [FLINK-40682][tests] Fix unstable ArchivedExecutionGraphTest Generated-by: Claude Code (Opus 5) --- .../executiongraph/ArchivedExecutionGraphTest.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/executiongraph/ArchivedExecutionGraphTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/executiongraph/ArchivedExecutionGraphTest.java index f69c2e0df0f81..5baafbca9636b 100644 --- a/flink-runtime/src/test/java/org/apache/flink/runtime/executiongraph/ArchivedExecutionGraphTest.java +++ b/flink-runtime/src/test/java/org/apache/flink/runtime/executiongraph/ArchivedExecutionGraphTest.java @@ -41,9 +41,9 @@ import org.apache.flink.runtime.scheduler.SchedulerBase; import org.apache.flink.runtime.scheduler.SchedulerTestingUtils; import org.apache.flink.runtime.taskmanager.TaskExecutionState; +import org.apache.flink.runtime.testutils.DirectScheduledExecutorService; import org.apache.flink.runtime.util.stats.StatsSummarySnapshot; import org.apache.flink.streaming.util.RestartStrategyUtils; -import org.apache.flink.testutils.TestingUtils; import org.apache.flink.testutils.executor.TestExecutorExtension; import org.junit.jupiter.api.BeforeAll; @@ -57,7 +57,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.concurrent.ScheduledExecutorService; import java.util.function.Function; import static java.util.Arrays.asList; @@ -66,9 +65,13 @@ /** Tests for the {@link ArchivedExecutionGraph}. */ public class ArchivedExecutionGraphTest { + /** + * Runs the deployment callbacks inline, so they cannot race startScheduling() on another thread + * (FLINK-40682). + */ @RegisterExtension - static final TestExecutorExtension EXECUTOR_RESOURCE = - TestingUtils.defaultExecutorExtension(); + static final TestExecutorExtension EXECUTOR_RESOURCE = + new TestExecutorExtension<>(DirectScheduledExecutorService::new); private static ExecutionGraph runtimeGraph;