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)

Reply via email to