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]

Reply via email to