Zhu Zhu created FLINK-12926: ------------------------------- Summary: Main thread checking in some tests fails Key: FLINK-12926 URL: https://issues.apache.org/jira/browse/FLINK-12926 Project: Flink Issue Type: Bug Components: Runtime / Coordination Affects Versions: 1.9.0 Reporter: Zhu Zhu Attachments: mainThreadCheckFailure.log
Currently all JM side job changing actions are expected to be taken in JobMaster main thread. In current Flink tests, many cases tend to use the test main thread as the JM main thread. This can lead to 2 issues: 1. TestingComponentMainThreadExecutorServiceAdapter is a direct executor, so if it is invoked from any other thread, it will break the main thread checking and fail the submitted action (as in the attached log [^mainThreadCheckFailure.log]) 2. The test main thread does not support other actions queued in its executor, as the test will end once the current test thread action(the current running test body) is done In my observation, most cases which starts ExecutionGraph.scheduleForExecution() will encounter this issue. Cases include ExecutionGraphRestartTest, FailoverRegionTest, ConcurrentFailoverStrategyExecutionGraphTest, GlobalModVersionTest, ExecutionGraphDeploymentTest, etc. One solution in my mind is to create a ScheduledExecutorService for those tests, use it as the main thread and run the test body in this thread. -- This message was sent by Atlassian JIRA (v7.6.3#76005)