Eason09053360 opened a new pull request, #75601: URL: https://github.com/apache/airflow/pull/75601
### Why The supervisor drops a `SetXCom` whose value is not JSON without replying, so a Go task that returns a `time.Time`, `uuid.UUID` or `[]byte` hangs until `execution_timeout`, or forever when none is set. The task state store already rejects such values before sending them; XCom pushes did not. ### What - `PushXCom` runs the same `validateJSONRepresentable` check first, so the task fails with the reason instead. `nil` still pushes as null, so the nil rule moved into `TaskStateStore.Set`. - That check's map decoder panicked on a key that decodes to bytes, such as `uuid.UUID`; it now returns an error. `TestCoordinatorClientPushXComRejectsNonJSONValues` covers both. - Client-side push cost: +1 µs for a small map, 2.5 → 5.6 ms for a 100k-int list (supervisor, HTTP and DB not included). --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5.5) -- 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]
