jason810496 opened a new pull request, #67154:
URL: https://github.com/apache/airflow/pull/67154
related: ADR 0003 (coordinator-protocol msgpack-over-IPC) — merged in a
separate PR
## Why
The Go SDK bundle binary currently only speaks the go-plugin protocol
used by the Edge Worker. To let the same binary run under the
ExecutableCoordinator path on the Python side (per ADR 0003), the
bundle needs to be able to act as a coordinator-protocol server:
accept startup details from the supervisor over stdio, drive a task
through its lifecycle, and stream logs / comms frames back. This PR
adds that runtime as a new `pkg/execution` package and wires the
bundle server to invoke it.
## How
- New `go-sdk/pkg/execution` package implements the coordinator-side
runtime: msgpack framing (`frames.go`), the message catalogue
(`messages.go`), Airflow-shaped serialisation (`serde.go`), the
comms decoder/encoder pair (`comms.go`), an stdio-backed logger
(`logger.go`), a `Client` for outbound supervisor calls
(`client.go`), the `Server` that owns the stdio loop (`server.go`),
and a `TaskRunner` that drives a task from startup-details through
to completion (`task_runner.go`).
- `dag_parser.go` reuses the existing registry to enumerate DAGs/tasks
for the supervisor without spawning the legacy go-plugin path.
- Bundle plumbing: `bundlev1server/server.go`, `bundlev1/registry.go`,
and `bundlev1/task.go` learn to hand a task off to the new runner;
`sdkcontext/keys.go` exposes the new context keys; `sdk/client.go`
and `sdk/connection.go` get the small adjustments required for the
new entry path.
## What
- Add
`go-sdk/pkg/execution/{client,comms,dag_parser,frames,logger,messages,serde,server,task_runner}.go`
plus matching unit and integration tests.
- Extend
`go-sdk/bundle/bundlev1/{bundlev1server/server.go,registry.go,task.go}`
to route coordinator-protocol invocations through the new runtime.
- Add the `sdkcontext` keys consumed by the runner and small SDK
client/connection tweaks.
- Bump `go.mod` / `go.sum` for the new transport/codec dependencies.
---
##### Was generative AI tooling used to co-author this PR?
- [x] Yes, with help of Claude Code Opus 4.7 following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]