The GitHub Actions job "Tests (AMD)" on airflow.git/fix/67224-kpo-deferrable-multiple-outputs has failed. Run started by GitHub user paultmathew (triggered by paultmathew).
Head commit for run: b3c1666e9640a04d59c5fb250d54c3850e2956a5 / Paul Mathew <[email protected]> Fix multiple_outputs no-op on deferrable KubernetesPodOperator KubernetesPodOperator(do_xcom_push=True, multiple_outputs=True, deferrable=True) silently failed to fan out the sidecar's return.json dict into per-key XComs — only `return_value` was published. Downstream tasks subscripting a key (operator.output["foo"] resolving to xcom_pull(key="foo")) got None at runtime with no error. Root cause: trigger_reentry pushed return_value manually inside a finally block and never returned the value to the task runner, so the runner's _push_xcom_if_needed (the code that honors multiple_outputs and fans the dict out) was bypassed. The sync execute_sync path already returns the result for the runner to handle (pod.py:760); this aligns trigger_reentry with that same contract. The failure-path manual push is preserved by moving it inside the event["status"] != "success" branch above the raise — partial sidecar output is still surfaced in XCom when the pod fails, and the behavior is now strictly better: the push happens even when the subsequent _clean call raises (previously the in-finally push was unreachable in that case). Fixes #67224 Co-authored-by: Cursor <[email protected]> Report URL: https://github.com/apache/airflow/actions/runs/26168748988 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
