Home / Airflow / DAGs and scheduling
Airflow: Failing N TIs without heartbeat (zombie tasks in Airflow 3)
Failing 2 TIs without heartbeat after 2026-10-22 03:12:45.120000+00:00The scheduler failed task instances whose process stopped sending heartbeats for longer than [scheduler] task_instance_heartbeat_timeout (300 seconds by default). Earlier releases called these zombie tasks; the setting was renamed from scheduler_zombie_task_threshold.
Common causes
- The worker running the task died: out-of-memory kill, a pod eviction, or a node restart.How to confirm: Check the worker or pod events for OOMKilled or eviction at the time of the failure.
- The task process was alive but too busy or blocked to heartbeat, for example a long GC pause or a stuck C extension.How to confirm: The task log stops without an error a few minutes before the scheduler message.
How to fix it
Give the worker or pod enough memory for the task, and set retries so a lost worker does not fail the DAG run.
If tasks are healthy but heartbeats arrive late, allow more time.
| Setting | Default | Note |
|---|---|---|
scheduler.task_instance_heartbeat_timeout | 300 | seconds; formerly scheduler_zombie_task_threshold |
Where the message comes from
scheduler_job_runner.pyinapache/airflowat3.3.2- Message checked in Airflow 3.3.2
Message template in the source: Failing %s TIs without heartbeat after %s