Skip to content

Add XCom read access to callback supervisor comms channel#66611

Draft
seanghaeli wants to merge 1 commit intoapache:mainfrom
aws-mwaa:ghaeli/callback-xcom-comms
Draft

Add XCom read access to callback supervisor comms channel#66611
seanghaeli wants to merge 1 commit intoapache:mainfrom
aws-mwaa:ghaeli/callback-xcom-comms

Conversation

@seanghaeli
Copy link
Copy Markdown
Contributor

Add read-only XCom access to the callback supervisor IPC channel, allowing
callbacks to fetch XCom values from upstream tasks via the same mechanism
used for Connections and Variables.

Motivation

PR #65269 added Connection, Variable, and MaskSecret comms channels to the
callback supervisor. XCom was deferred because it requires explicit dag_id,
run_id, and task_id (callbacks have no implicit task context). This PR adds
that missing piece.

Changes

  • Add GetXCom to the CallbackToSupervisor union type
  • Add handle_get_xcom shared handler in request_handlers.py
  • Route GetXCom messages in CallbackSubprocess._handle_request
  • Add tests for both basic XCom fetch and fetch with map_index/include_prior_dates

Only read access (GetXCom) is exposed. SetXCom and DeleteXCom remain out of
scope for callbacks since they should not be producing XCom values.

related: #65269


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 4.6)

Generated-by: Claude Code (Opus 4.6) following the guidelines

Callbacks running inside the CallbackSubprocess can now read XCom
values via the same supervisor IPC mechanism used for Connections and
Variables.  The caller must supply explicit dag_id, run_id, and
task_id since callbacks have no implicit task context.

This adds GetXCom to the CallbackToSupervisor union and routes it
through a new shared handle_get_xcom handler in request_handlers.py.
Only read access (GetXCom) is exposed; SetXCom and DeleteXCom remain
out of scope for callbacks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant