Skip to content

Conversation

@AutomationDev85
Copy link
Contributor

Overview

After upgrading to kubernetes provider 10.10.0, XCom was no longer pushed on successful execution of KubernetesPodOperator in deferrable mode. This PR restores XCom propagation for successful deferred runs.

Change Summary

  • Ensure trigger_reentry returns XCom value when do_xcom_push is True and execution succeeds.
  • Extend unit tests to assert XCom is returned in deferrable mode.

Feedback is welcome.

@jscheffl jscheffl merged commit 0aa2ea7 into apache:main Nov 20, 2025
96 checks passed
Comment on lines +938 to +939
if self.do_xcom_push:
return xcom_sidecar_output
Copy link
Contributor

@johnslavik johnslavik Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be illegal syntax in a future Python version. We'll need to take that return out of finally.
https://peps.python.org/pep-0765/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AutomationDev85 the more I revisit the core the more I think this patch was not good. Actually you wanted to push XCom but with this you are masking the exception raise.

Can you re-work? I assume you to manually xcom_push() and then raise in case of error, else return XCom in this way only on success but not in finally.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@johnslavik thanks for identifying this issue!! I created a PR to fix this issue: #58998

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume cause is that the ruff rule https://docs.astral.sh/ruff/rules/return-in-try-except-finally/ (SIM107) is not enabled in the repo, that should have catched this. Will put this on my bucket list to enable... or if somebody else wants to make a PR I assume this is an important check we are missing atm.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will put this on my bucket list to enable... or if somebody else wants to make a PR I assume this is an important check we are missing atm.

#59019

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool. Thanks @johnslavik !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providers provider:cncf-kubernetes Kubernetes (k8s) provider related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants