You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Zhu Zhu (JIRA)" <ji...@apache.org> on 2019/07/04 03:06:00 UTC
[jira] [Updated] (FLINK-12926) Main thread checking in some tests
fails
[ https://issues.apache.org/jira/browse/FLINK-12926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhu Zhu updated FLINK-12926:
----------------------------
Attachment: Execution#deploy.jpg
> 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: Execution#deploy.jpg, 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)