-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Fix XCom key handling when keys contain special characters like / #56042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ashb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs unit tests adding please
pierrejeambrun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one nit but looks good to me.
We probably need a test for the public API too.
| schema: | ||
| type: 'null' | ||
| title: Response Delete Task Instance | ||
| schema: {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure to understand why this was updated.
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions. |
|
Since this PR has become stale, I would like to help pick it up and get it merged. |
|
Closing this one in favour of #58344 |
Closes : #55410
Summary
This PR fixes an issue where XCom keys containing special characters (for example /) would break API calls and cause 404 Not Found errors.
The problem happened because keys were passed directly in the URL without encoding, so FastAPI treated / as a path separator.
Changes Made
SDK (client.py, taskrunner.py)
APIs (core_api/routes/public/xcoms.py, execution_api/routes/xcoms.py)
This PR ensures:
Keys are always quoted when sent (safe for URLs).
Keys are always unquoted when received (correct DB lookup).
Aligns XCom behavior across different access points (UI, API, execution API, and task runner).
Testing: