This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 90d2d6e0689ec2f46fa7c5d83662b75e8c8a29ea
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Dec 4 02:11:53 2025 +0100

    [v3-1-test] Update the documentation for the LocalExecutor (#58990) (#59022)
    
    (cherry picked from commit 729571b1a8d6009b86fd24d8482907894da8a4f1)
    
    Co-authored-by: Jeongwoo Do <[email protected]>
---
 airflow-core/docs/core-concepts/executor/local.rst | 23 ++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/airflow-core/docs/core-concepts/executor/local.rst 
b/airflow-core/docs/core-concepts/executor/local.rst
index a533ae3a5b8..dc7a70fd873 100644
--- a/airflow-core/docs/core-concepts/executor/local.rst
+++ b/airflow-core/docs/core-concepts/executor/local.rst
@@ -29,8 +29,27 @@ This parameter must be greater than ``0``.
 The :class:`~airflow.executors.local_executor.LocalExecutor` spawns the number 
of processes equal to the value of ``self.parallelism`` at
 ``start`` time, using a ``task_queue`` to coordinate the ingestion of tasks 
and the work distribution among the workers, which will take
 a task as soon as they are ready. During the lifecycle of the LocalExecutor, 
the worker processes are running waiting for tasks, once the
-LocalExecutor receives the call to shutdown the executor a poison token is 
sent to the workers to terminate them. Processes used in this
-strategy are of class 
:class:`~airflow.executors.local_executor.QueuedLocalWorker`.
+LocalExecutor receives the call to shutdown the executor a poison token is 
sent to the workers to terminate them.
+
+The worker spawning behavior differs based on the multiprocessing start method:
+
+- **Fork mode** (default on Linux): Workers are spawned all at once up to 
``parallelism`` to prevent memory spikes
+  caused by Copy-on-Write (COW). See `Discussion 
<https://github.com/apache/airflow/discussions/58143>`_
+  for details.
+- **Spawn mode** (default on macOS and Windows): Workers are spawned one at a 
time as needed to prevent
+  the overhead of spawning many processes simultaneously.
+
+.. note::
+
+   The ``parallelism`` parameter can be configured via the ``[core] 
parallelism`` option in ``airflow.cfg``.
+   The default value is ``32``.
+
+.. warning::
+
+   Since LocalExecutor workers are spawned as sub-processes of the scheduler, 
in containerized environments
+   this may appear as excessive memory consumption by the scheduler process. 
This can potentially trigger
+   container restarts due to OOM (Out of Memory). Consider adjusting the 
``parallelism`` value based on
+   your container's resource limits.
 
 .. note::
 

Reply via email to