kalluripradeep commented on issue #67521:
URL: https://github.com/apache/airflow/issues/67521#issuecomment-4766500739
The root cause of this issue is that `TIRescheduleStatePayload` was the
**only** intermediate-state payload missing the `rendered_map_index` field —
every other state (`deferred`, `up_for_retry`, `awaiting_input`, terminal)
already carries it.
The full data path for a reschedule:
1. `sensor.poke()` sets `context["map_index_template"]` → raises
`AirflowRescheduleException`
2. `task_runner.run()` catches it in the inner `except Exception:` block,
calls `_render_map_index()` (so `ti.rendered_map_index` is **already
populated**), then re-raises
3. `task_runner.run()` catches `AirflowRescheduleException` and builds
`RescheduleTask(reschedule_date=…, end_date=…)` — **`rendered_map_index` was
never passed**
4. Supervisor sends `PATCH /task-instances/{id}` with
`TIRescheduleStatePayload` — **model had no such field**
5. Route handler writes `state=UP_FOR_RESCHEDULE, next_method=None,
next_kwargs=None` — **`_rendered_map_index` never written to DB**
Fix in PR #68829: add the field to the payload model and thread it through
task_runner → supervisor → route handler → DB. Also adds a Cadwyn API migration
and a regression test.
--
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]