SIGN IN SIGN UP
apache / airflow UNCLAIMED

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

0 0 267 Python

fix(openlineage): self-heal ProcessPoolExecutor on BrokenProcessPool (#67400)

* fix(openlineage): self-heal ProcessPoolExecutor on BrokenProcessPool

When a child process in the OpenLineage listener's ProcessPoolExecutor
terminates abruptly, concurrent.futures marks the pool as permanently
broken. Every subsequent submission raises BrokenProcessPool and lineage
data stops flowing until the scheduler is restarted.

This adds self-healing: submit_callable now catches BrokenProcessPool,
shuts down the broken executor, creates a fresh one, and retries the
submission so lineage reporting recovers automatically.

Closes #67283

* fix(openlineage): sort imports to fix ruff I001 static check

ruff I001: `from concurrent.futures.process import BrokenProcessPool`
must follow `from concurrent.futures import ProcessPoolExecutor`

* fix(openlineage): collapse log.warning to single line for ruff-format

The warning message fits within the line-length limit so it should not be
split across three lines.

---------

Co-authored-by: Anmol Mishra <anmolx.work@gmail.com>
A
Anmol Mishra committed
d1b1f74ab7c5f03b87e397d469dda797d59fac0b
Parent: 99816d8
Committed by GitHub <noreply@github.com> on 5/30/2026, 10:06:28 PM