Andrey Zagrebin created FLINK-19954:
---------------------------------------
Summary: Move execution deployment tracking logic from legacy EG code to SchedulerNG
Key: FLINK-19954
URL:
https://issues.apache.org/jira/browse/FLINK-19954 Project: Flink
Issue Type: Task
Components: Runtime / Coordination
Affects Versions: 1.12.0
Reporter: Andrey Zagrebin
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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)