Details
-
Improvement
-
Status: Open
-
Not a Priority
-
Resolution: Unresolved
-
1.12.0
-
None
Description
FLINK-17075 introduced the execution state reconciliation between TM and JM. The reconciliation requires tracking of the execution deployment state. The tracking logic was added to the legacy code of EG state handling which is partially inactive as discussed in FLINK-19927. The recent state handling logic resides in the new SchedulerNG, currently DefaultScheduler.
We could reconsider how the execution tracking for reconciliation is integrated with the scheduling. I think the tracking logic could be moved from Execution#deploy and EG#notifyExecutionChange to either SchedulerNG#updateTaskExecutionState or DefaultScheduler#deployTaskSafe. The latter looks to me currently more natural. ExecutionVertexOperations.deploy could return submission future for deployment completion in ExecutionDeploymentTracker and Execution#getTerminalFuture to stop the tracking. This would be also easier to unit test.
Attachments
Issue Links
- relates to
-
FLINK-19927 ExecutionStateUpdateListener is only updated when legacy scheduling is enabled
- Closed
-
FLINK-17075 Add task status reconciliation between TM and JM
- Closed