jason810496 opened a new pull request, #75802: URL: https://github.com/apache/airflow/pull/75802
Backport of #75795 to `v3-4-test`, needed before 3.4.0 RC. ## Why Starting any task deserialized its whole Dag, so that `ti_run` could find out whether the task was a stub and read its `arg_bindings`. On a Dag cache miss that is a full `serialized_dag` read plus deserialization per task start, paid while the route holds `SELECT ... FOR UPDATE` on the `task_instance` row, and for a Python task the result is thrown away. `client_supports_arg_bindings()` does not prevent it: it tests the client's API version, not the kind of task, and the 3.4.0 Task SDK sends `API_VERSION = "2026-10-30"`, exactly the version the field was added at. ## How The serialized `is_stub` flag is denormalized onto `task_instance`, which `ti_run` already fetches and locks, and is checked first so the normal Python task path never loads the serialized Dag. Null means "not a stub", with no fallback. Every null row predates the migration, so it was written by 3.3, which has no `arg_bindings` at all, and such a task behaves exactly as it did there. ## What differs from #75795 - No revision renumbering. `ee86eed19e24` is this branch's head, so `b4f1a7d2c903` simply follows it and becomes the new head. On `main` the same revision had to be inserted ahead of two 3.5.0 revisions. - No `execution_timeout` change. #75469 took #74869 back out of `v3-4-test`, so there is no `TIRunContext.execution_timeout` here and the route keeps its single `get_arg_bindings(dag_bag, ti, session=session)` call, which the new gate short-circuits. Everything else, including the tests and the `java_native.json` fixture fix, is the same. --- ##### Was generative AI tooling used to co-author this PR? - [x] Yes, with help of Claude Code Opus 5 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]
