github-actions[bot] opened a new pull request, #75114: URL: https://github.com/apache/airflow/pull/75114
* Decode deadline callback kwargs where the callback runs Deadline Alert callback kwargs were decoded in the scheduler and the API server whenever deadline alerts were loaded, although neither component calls the callback. Keep the kwargs serde-encoded on the server and decode them where they are used: the triggerer decodes AsyncCallback kwargs with its existing pipeline, and the callback subprocess decodes SyncCallback kwargs right before calling the user callable. Executor callback data now carries a "kwargs_encoding" marker so the worker only decodes encoded kwargs, callbacks created before upgrade run unchanged, and an older Task SDK fails such callbacks instead of passing encoded arguments. The runtime-provided callback context is serialized strictly, as before; only the stored callback kwargs keep their encoded form. Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions * Render deadline callback kwargs readably in metrics and repr Deadline callback kwargs are now kept in their encoded form, so metric tags and the callback repr showed the raw encoding instead of the values. Show them in a readable form again, without importing or building anything they name. Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions * Keep deadline callback kwargs display total for non-finite intervals A timedelta payload holding NaN made the display of callback kwargs raise, which would escape from metric emission and the callback repr. Show such values, and any other interval that cannot be built, in the generic form instead. Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions * Assert that the deadline context never reaches the triggerer, not how it is refused The triggerer-path deadline test pinned the AttributeError raised by strict serialization. Assert the outcome instead (no trigger is created and nothing in the context is constructed), so the test holds whether the context is refused by raising or by failing the callback. Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions * Fail only the affected trigger when its kwargs cannot be decoded (cherry picked from commit 233f9c3fc78a3cc91dc157f5ace5e1354dce68a7) Co-authored-by: Jarek Potiuk <[email protected]> Generated-by: Claude Opus 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]
