Skip to content

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

Merged
potiuk merged 2 commits into
apache:mainfrom
potiuk:docs-task-execution-architecture-diagrams
Jul 19, 2026
Merged

Add Task SDK, Go and Java SDK execution architecture diagrams#69750
potiuk merged 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
@potiuk
potiuk force-pushed the docs-task-execution-architecture-diagrams branch 2 times, most recently from b533189 to 42ee2a6 Compare July 11, 2026 16:24
potiuk added 2 commits July 18, 2026 19:15
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.
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 42ee2a6 to 10c2991 Compare July 18, 2026 17:16
@potiuk potiuk changed the title Docs: Add Task SDK, Go and Java SDK execution architecture diagrams Add Task SDK, Go and Java SDK execution architecture diagrams Jul 18, 2026
@potiuk potiuk closed this Jul 18, 2026
@potiuk potiuk reopened this Jul 18, 2026
@potiuk
potiuk merged commit 2de0223 into apache:main Jul 19, 2026
136 of 137 checks passed
@potiuk
potiuk deleted the docs-task-execution-architecture-diagrams branch July 19, 2026 16:46
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-3-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-3-test PR Link

github-actions Bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Jul 19, 2026
…rams (apache#69750)

* Add Task SDK, Go and Java SDK execution architecture diagrams

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.

* Draw Task and Java SDK execution flows as true sequence diagrams

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.
(cherry picked from commit 2de0223)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Jul 19, 2026
…rams (apache#69750)

* Add Task SDK, Go and Java SDK execution architecture diagrams

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.

* Draw Task and Java SDK execution flows as true sequence diagrams

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.
(cherry picked from commit 2de0223)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
potiuk added a commit that referenced this pull request Jul 19, 2026
…rams (#69750) (#70100)

* Add Task SDK, Go and Java SDK execution architecture diagrams

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.

* Draw Task and Java SDK execution flows as true sequence diagrams

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.
(cherry picked from commit 2de0223)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
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