[
https://issues.apache.org/jira/browse/FLINK-12926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Yao updated FLINK-12926:
-----------------------------
Component/s: Tests
> 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, Tests
> Affects Versions: 1.9.0
> Reporter: Zhu Zhu
> Priority: Major
> 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)