ChahatKumar opened a new pull request, #74797: URL: https://github.com/apache/airflow/pull/74797
This supersedes apache/airflow#73783 from a writable fork and includes the original implementation together with the failing-test correction. Python tasks fail before their task body runs when Dag run conf contains an integer such as `18446744073709551616`. The Execution API preserves the value, but encoding the supervisor startup message raises `OverflowError` because it exceeds MessagePack's native integer range. This preserves those values across Python subprocess communication using a MessagePack extension with a signed binary payload. Both directions restore the original Python `int`, including nested values. External language-SDK subprocesses retain their existing behavior. The additional test fix accounts for MySQL JSON's integer range: values below signed 64-bit minimum or above unsigned 64-bit maximum remain covered on PostgreSQL and SQLite, while MySQL continues to cover its native boundaries and a large numeric string. Validation on the exact branch in the Airflow Linux CI image: - 98 Dag Processor/httpx compatibility tests passed - 5 SQLite large-integer Execution API regression cases passed - 103 combined regression tests passed - MySQL focused regression previously passed with 3 cases and 2 correct backend skips - Ruff formatting and lint passed - `git diff --check` passed The Dag Processor/httpx2 compatibility change in this branch is already present on current `main` through apache/airflow#74731; it was included on the source branch to repair the older PR base. closes: #73712 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — GitHub Copilot -- 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]
