Matthias Pohl created FLINK-40086:
-------------------------------------
Summary: Harden Execution#transitionState implementation by
guarding preCompletionAction
Key: FLINK-40086
URL: https://issues.apache.org/jira/browse/FLINK-40086
Project: Flink
Issue Type: Technical Debt
Components: Runtime / Coordination
Affects Versions: 2.2.2, 1.20.6, 2.3.1, 2.4.0
Reporter: Matthias Pohl
With FLINK-40003 we applied a slight change on how the accumulators and
IOMetrics are updated in {{Execution}} via a callback. The callback sits
between changing the {{state}} and completing the {{terminalStateFuture}}. If
the callback fails, we can end up in a state where the Execution state is set
but the future is not terminated. We should surround the callback with a try
catch to handle these cases properly.
Side note: Currently, this change only affects {{transitionToTerminalState}}
where {{updateAccumulatorsAndMetrics}} is called which only sets fields - no
errors can be raised. This is, therefore, only an approach to make the
implementation more future proof.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)