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)