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/06/21 11:30:00 UTC

[jira] [Created] (FLINK-12926) Main thread checking in some tests fails

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)