Skip to content

Docs: Add Task SDK, Go and Java SDK execution architecture diagrams#69750

Open
potiuk wants to merge 2 commits into
apache:mainfrom
potiuk:docs-task-execution-architecture-diagrams
Open

Docs: Add Task SDK, Go and Java SDK execution architecture diagrams#69750
potiuk wants to merge 2 commits into
apache:mainfrom
potiuk:docs-task-execution-architecture-diagrams

Conversation

@potiuk

@potiuk potiuk commented Jul 11, 2026

Copy link
Copy Markdown
Member

Adds graphviz-generated diagrams to the architecture overview
(core-concepts/overview.rst) explaining how a task actually runs across
Airflow's SDKs, in a new "Task execution architecture" section:

  • Python Task SDK — the supervised path (Supervisor + forked task process over a
    msgpack socket) vs the native in-process path (dag.test()), plus a numbered
    message-flow sequence.
  • Go SDK — standalone airflow-go-edge-worker pulling from the Edge API, running
    the compiled bundle as a go-plugin gRPC subprocess and calling the Execution
    API directly.
  • Java (JVM) SDK — the new Coordinator layer (CoordinatorManager -> JavaCoordinator
    -> _JavaActivitySubprocess) reusing the Python Supervisor, driving a JVM
    subprocess over loopback TCP, with an architecture diagram and a numbered
    execution-workflow sequence.

All diagrams are generated by the existing generate-airflow-diagrams prek hook
(committed as .py + .png + .md5sum).


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

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

@potiuk potiuk added this to the Airflow 3.3.1 milestone Jul 11, 2026
@potiuk potiuk added the backport-to-v3-3-test Backport to v3-3-test label Jul 11, 2026
@potiuk potiuk requested a review from eladkal July 11, 2026 08:21

@jason810496 jason810496 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! It's really a cool one to showcase the current architecture for Lang-SDK, no major error to fix, and we can improve in the follow-up.

Comment thread airflow-core/docs/core-concepts/overview.rst
Comment thread airflow-core/docs/img/diagram_java_sdk_execution_architecture.py
Comment thread airflow-core/docs/img/diagram_task_sdk_execution_sequence.py
Add graphviz-generated diagrams to the architecture overview showing how a
task actually runs across the different SDKs, and embed them in
core-concepts/overview.rst:

- Python Task SDK: supervised (two native OS processes over a msgpack socket)
  vs native/in-process paths, plus a numbered message-flow sequence.
- Go SDK: standalone edge worker pulling from the Edge API, task talks to the
  Execution API directly.
- Java (JVM) SDK: Coordinator layer reusing the Python Supervisor, driving a
  JVM subprocess over loopback TCP, with an architecture diagram and a numbered
  execution-workflow sequence.
@potiuk potiuk force-pushed the docs-task-execution-architecture-diagrams branch from 667a3d3 to b533189 Compare July 11, 2026 14:44
The message-flow diagrams added earlier in this PR drew every step on a single
vertical spine, so the request/response round-trips between the task runtime and
the Supervisor were hard to follow. Responding to review feedback, redraw them
as true sequence diagrams — one lifeline per participant with the Supervisor in
the middle — so each round-trip reads as arrows going back and forth between
neighboring lifelines, with straight message arrows and margined labels.
@potiuk potiuk force-pushed the docs-task-execution-architecture-diagrams branch from b533189 to 42ee2a6 Compare July 11, 2026 16:24
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.

2 participants