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]

Reply via email to