Friction

Apache Airflow

airflow.apache.org · Data pipelines

Apache Airflow, a platform to author, schedule and monitor workflows.

56 items · 59 source threads · 2 source types · updated 2026-02

Compare

Pain points 40

ItemAreaSeveritySupportLast seen
Tasks stuck in scheduled or queued state with free pool slots on KubernetesExecutor

On Airflow 2.0.0 with KubernetesExecutor, tasks stay scheduled or queued indefinitely even though nothing is running and the default pool appears full.

Affects: Teams on KubernetesExecutor

Reliability & bugsCauses churn3 sources2022-01

“Tasks are stuck in the queued state and will not be scheduled for execution”

“the scheduler is unable to run any other simple task at the same time”

Tasks intermittently terminated with SIGTERM on KubernetesExecutor

Tasks on Airflow 2.1.3 with the Kubernetes executor are intermittently killed with SIGTERM, and suggested config changes did not stop it.

Affects: Teams on KubernetesExecutor

Reliability & bugsBlocks work3 sources2021-09

“Received SIGTERM. Terminating subprocesses”

“the task will sometimes fail while the EMR step sucessfully ran”

Scheduler memory leak leaves tasks stuck in scheduled state

On Airflow 2.0.1 the scheduler grows to several GB over days and tasks get stuck; the old option to restart it periodically is gone.

Affects: Teams on KubernetesExecutor

PerformanceCauses churn2 sources2025-09

“Over time, memory consumption keeps increasing until swap is heavily used and eventually the system hits OOM”

“the scheduler has a memory leak and over past 4 days it has reached up to 6GB of memory utilization”

Reschedule-mode sensors fail with executor state mismatch, hurting SLAs

Thousands of tasks, about 2000 a day for one team, move to retry with an executor reports finished while queued error, causing significant SLA impact.

Affects: Teams using ExternalTaskSensors with Celery

Reliability & bugsCauses churn2 sources2024-05

“every day I see my tasks being killed randomly without good reasoning behind why it got killed/failed”

“I'm copying over a JIRA for a bug that has significant negative impact on our pipeline SLAs”

Scheduler stops scheduling DAG runs because the DAG record stays locked

On Airflow 2.7.3 on Kubernetes, after a few successful runs the scheduler skips scheduling because the DAG record is locked, even with one scheduler.

Affects: Teams running frequent DAGs on Kubernetes

Reliability & bugsCauses churn2 sources2024-01

“after a few successful DagRuns, the scheduler stops scheduling new runs”

“The scheduler gets stuck without a trace or error”

Internal Server Error on API server after upgrading to 3.1.1

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work2 sources2026-02
Task fails and its logs cannot be read on Celery in Docker Swarm

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work2 sources2024-09
S3 remote logs unreadable in UI after upgrade to 1.10.9

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work2 sources2020-12
airflow initdb fails following the quick start due to cattrs 1.1.0

Locked: summary and evidence are part of Sprint Pass and Pro

Setup & onboardingBlocks work2 sources2020-10
Initial infrastructure setup for Airflow is annoying

Locked: summary and evidence are part of Sprint Pass and Pro

Setup & onboardingAnnoyance2 sources2022-02
Task run time jumps from seconds to minutes after upgrading to 2.7.0

Locked: summary and evidence are part of Sprint Pass and Pro

PerformanceCauses churn1 source2023-08
Progressive slowness: DAGs queue without running until the scheduler is restarted

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsCauses churn1 source2023-07
Database init and upgrade fails on MariaDB for Airflow 2.3

Locked: summary and evidence are part of Sprint Pass and Pro

Self-hosting & upgradesCauses churn1 source2022-06
Scheduler restarts on Postgres deadlock, skipping many dynamic tasks

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsCauses churn1 source2022-04
Two schedulers on Airflow 3 create duplicate task instances with Kubernetes executor

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2025-10
airflow db clean fails with a foreign key violation

Locked: summary and evidence are part of Sprint Pass and Pro

Self-hosting & upgradesBlocks work1 source2025-09
airflow standalone segfaults when run locally

Locked: summary and evidence are part of Sprint Pass and Pro

Setup & onboardingBlocks work1 source2025-09
Trigger runner locks up when many workflow triggers run together

Locked: summary and evidence are part of Sprint Pass and Pro

PerformanceBlocks work1 source2025-05
DAG processor dies with too many open files after upgrading to 3.0.0

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2025-04
Infinite redirect loop when opening Airflow 3 via hostname in Docker

Locked: summary and evidence are part of Sprint Pass and Pro

Setup & onboardingBlocks work1 source2025-04
MWAA scheduler maxed out by about 100 DAGs

Locked: summary and evidence are part of Sprint Pass and Pro

PerformanceBlocks work1 source2025-04
KubernetesOperator usage hurts abstractions and testability

Locked: summary and evidence are part of Sprint Pass and Pro

API & developer experienceBlocks work1 source2024-08
DAGs lack proper version control and lineage

Locked: summary and evidence are part of Sprint Pass and Pro

API & developer experienceBlocks work1 source2024-08
No built-in way to separate DAGs across dev, staging and production

Locked: summary and evidence are part of Sprint Pass and Pro

API & developer experienceBlocks work1 source2024-08
Airflow far less easy to use than ActiveBatch for workflow automation

Locked: summary and evidence are part of Sprint Pass and Pro

UI & usabilityBlocks work1 source2024-01
Rebuilding Airflow image fails on apt-get update due to a bad GPG key

Locked: summary and evidence are part of Sprint Pass and Pro

Self-hosting & upgradesBlocks work1 source2023-12
Deferrable operators do not call on_kill when failed or cleared

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2023-12
Community Slack support does not help beyond basic DAG writing

Locked: summary and evidence are part of Sprint Pass and Pro

SupportBlocks work1 source2022-05
Web UI lacks authentication, ruling Airflow out for a Jenkins replacement

Locked: summary and evidence are part of Sprint Pass and Pro

Permissions & securityBlocks work1 source2021-06
Official quick start Helm chart fails on a kind cluster

Locked: summary and evidence are part of Sprint Pass and Pro

Setup & onboardingBlocks work1 source2021-05
Managed Airflow too expensive for smaller companies

Locked: summary and evidence are part of Sprint Pass and Pro

Pricing & plansBlocks work1 source2020-11
Webserver hangs with gunicorn timeout after changing worker class

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2020-09
max_active_runs=1 still allows a second DAG run to start

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2020-07
Large-scale backfills break various components on Cloud Composer

Locked: summary and evidence are part of Sprint Pass and Pro

PerformanceBlocks work1 source2020-05
Scheduler seen as fragile and prone to crashing

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2020-05
Deleting several tasks triggered an error page on Airflow 1.9

Locked: summary and evidence are part of Sprint Pass and Pro

Reliability & bugsBlocks work1 source2018-08
Cannot trigger a single task and its dependents without running the whole DAG

Locked: summary and evidence are part of Sprint Pass and Pro

API & developer experienceBlocks work1 source2018-08
CloudRunExecuteJobOperator does not show container logs in Airflow

Locked: summary and evidence are part of Sprint Pass and Pro

IntegrationsAnnoyance1 source2024-01
Random duplicate key errors when initializing the Postgres database

Locked: summary and evidence are part of Sprint Pass and Pro

Setup & onboardingAnnoyance1 source2022-05
Misleading log line confuses users waiting on long-running tasks

Locked: summary and evidence are part of Sprint Pass and Pro

UI & usabilityAnnoyance1 source2021-05

Feature requests 12

ItemAreaSeveritySupportLast seen
Drain a DAG: disable only after active runs finish

Disabling a DAG stops it midway, which is a problem during upgrades; a drain option is requested to let active runs finish first.

Affects: Operators upgrading Airflow environments

Self-hosting & upgradesBlocks work1 source2022-03

“if you disable a DAG, it stops the DAG midway”

Add retry support to TaskGroups

TaskGroups replaced SubDags but cannot be retried, so the user cannot repeat a group of tasks without rerunning the whole large DAG.

Affects: DAG authors replacing SubDags

API & developer experienceBlocks work1 source2022-02

“But TaskGroup does not have retry parameter”

Official ARM64 Docker images needed

The Docker image fails to start on ARM nodes such as Graviton or Apple M1, and the user requests ARM64 support for released images.

Affects: Teams running ARM Kubernetes nodes

Self-hosting & upgradesBlocks work1 source2021-05

“If you want to run airflow on arm node in kubernetes the docker image wont start”

Native Windows support for Airflow

Running Airflow on Windows needs WSL or Docker, which have GPU and networking limitations; a user asks for native support, replacing the Unix daemon library.

Affects: Windows-based companies running GPU ML pipelines

Setup & onboardingBlocks work1 source2020-08

“Natively running airflow without WSL 1/2 or docker on Windows”

Grant DAG access by tag for multi-team Airflow servers

With many teams on one server, permissions must be granted DAG by DAG, so tag-based read and write permissions are requested.

Affects: Platform teams serving multiple teams

Permissions & securityBlocks work1 source2020-06

“I have multiple teams using the same airflow server and access rights granting has been very tedious”

Wants drag-and-drop workflow building instead of hand-coding

Locked: summary and evidence are part of Sprint Pass and Pro

UI & usabilityAnnoyance1 source2024-01
Add a Snowpark operator for running Snowflake Snowpark Python code

Locked: summary and evidence are part of Sprint Pass and Pro

IntegrationsAnnoyance1 source2022-06
Allow custom names for dynamically mapped tasks

Locked: summary and evidence are part of Sprint Pass and Pro

UI & usabilityAnnoyance1 source2022-04
Make the task context a typed object rather than a dictionary

Locked: summary and evidence are part of Sprint Pass and Pro

API & developer experienceAnnoyance1 source2021-02
Expose the Gantt chart as an API and allow alerting from it

Locked: summary and evidence are part of Sprint Pass and Pro

Reporting & analyticsAnnoyance1 source2020-12
Instrument Airflow with OpenTracing or OpenTelemetry

Locked: summary and evidence are part of Sprint Pass and Pro

Reporting & analyticsAnnoyance1 source2020-12
Replace email alerts with an extensible notification API

Locked: summary and evidence are part of Sprint Pass and Pro

IntegrationsAnnoyance1 source2020-11

Workarounds 2

ItemAreaSeveritySupportLast seen
Hundreds of Airflow workers exhaust Postgres connections, solved with PgBouncer

At busy times Airflow launches hundreds of worker processes each needing a database connection, so client-side pooling does not help and a server-side pooler is used.

Affects: Teams running Airflow clusters on Postgres

PerformanceBlocks work1 source2022-02

“each of them need at least 1 connection to Postgresql to save its result”

DAG logs filling the server disk, handled with maintenance DAGs

A self-hosted Airflow occasionally had its disk filled by DAG logs; the user found maintenance DAGs that prevent many such issues.

Affects: Self-hosting small team

Self-hosting & upgradesAnnoyance1 source2020-11

“the few random scares where dag logs filled up my server”

Switching reasons 2

ItemAreaSeveritySupportLast seen
Switching to Dagster because Airflow DAGs get killed randomly

A user on managed Airflow sees DAG processes killed with no explanation in the logs and is moving to Dagster mainly because it has not crashed on them.

Affects: Data engineers on AWS MWAA

Reliability & bugsCauses churn1 source2025-04

“I am trying to switch to dagster, not because it's awesome, but because it hasn't crashed randomly on me”

Poor Airflow documentation makes a user vow never to use it again

A user calls the documentation badly lacking and says this makes running and using Airflow needlessly frustrating, to the point of not using it again.

DocumentationCauses churn1 source2022-05

“The biggest pain point in Airflow I have experienced is the horrible and completely lacking documentation”