The GitHub Actions job "Check newsfragment PR number" on airflow.git/refactor/go-sdk/coordinator-comms has succeeded. Run started by GitHub user jason810496 (triggered by jason810496).
Head commit for run: ae9e9b6be5ffac8064a0f2dded51f2d74016a85f / LIU ZHE YOU <[email protected]> self-review: Address coordinator comms, client, and logger review findings - Omit map_index from SetXCom for unmapped task instances and carry it as *int from api.TaskInstance through to SetXComMsg. Fixes a compile-time mismatch and matches the supervisor's "absent vs -1" semantics for unmapped tasks. - Honor context cancellation in CoordinatorComm.Communicate by running the request send in a goroutine and selecting on ctx.Done(), so a blocked supervisor socket no longer wedges the caller. The underlying connection is left alone on cancel to avoid poisoning future writes with a stale deadline or leaving a partial length-prefixed frame on the wire. - Decode ConnectionResult.Login and Password as *string via a new mapStringPtr helper so an explicitly empty credential round-trips through the coordinator client instead of being silently treated as absent. sdk.Connection already encodes the distinction. Adds regression tests for each case. go-sdk: drop unused details field from CoordinatorClient CoordinatorClient stored a *StartupDetails it never read, and the companion PRs (#67155, #67318) that also construct or pass details into NewCoordinatorClient never read c.details either — they work directly off the local *StartupDetails inside RunTask. Keeping the field as API surface implies a contract the type does not honor, so remove it and let callers pass only the comm channel. go-sdk: unify ErrorResponse decoding in CoordinatorComm.Communicate The dispatcher response could carry an error in two places — the third element of a 3-tuple response frame, or as the body of a 2-tuple frame whose "type" is "ErrorResponse" — and Communicate inspected each path independently. The two branches diverged on nil-guarding decodeErrorResponse, which was easy-to-miss latent inconsistency: either path could grow a bug the other did not. Extract the source selection into errMapFromFrame so the decode and *ApiError construction live in one place. go-sdk: widen frame IDs to int64 end-to-end CoordinatorComm's request-id counter was atomic.Int64 (chosen so a long-running runtime cannot wrap), but the value was narrowed to int when stored in the pending map and IncomingFrame.ID. On 32-bit GOARCH that narrowing reintroduces the wraparound the int64 counter was meant to prevent, and the comment promising "wide enough to avoid wraparound" becomes architecture-dependent. Widen IncomingFrame.ID, the pending map key, encodeRequest, and the test fixtures to int64 so the no-wraparound guarantee holds on every supported GOARCH. The change is package-internal; IncomingFrame has no callers outside pkg/execution. Report URL: https://github.com/apache/airflow/actions/runs/26502140504 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
