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