This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-4-test by this push:
new aae28371675 [v3-4-test] Note that the API server uses a second
database connection pool (#76430) (#76434)
aae28371675 is described below
commit aae28371675b4c9146b00911f769bfd416aafded
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Nov 4 14:18:42 2026 +0100
[v3-4-test] Note that the API server uses a second database connection pool
(#76430) (#76434)
The per-worker connection limit doubles in 3.4.0, and the release notes
did not say so, so deployments sizing PgBouncer or max_connections would
not know to account for it.
(cherry picked from commit 671be47b20e5d38b02847e06a31e455064081fe0)
Co-authored-by: Jason(Zhe-You) Liu
<[email protected]>
---
airflow-core/newsfragments/76430.significant.rst | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/airflow-core/newsfragments/76430.significant.rst
b/airflow-core/newsfragments/76430.significant.rst
new file mode 100644
index 00000000000..9a3fde4900b
--- /dev/null
+++ b/airflow-core/newsfragments/76430.significant.rst
@@ -0,0 +1,11 @@
+The API server uses a second database connection pool
+
+API server workers now run some database work on the async engine as well as
the sync one, and each engine has its own connection pool, sized by the same
``[database] sql_alchemy_pool_size`` and ``[database]
sql_alchemy_max_overflow`` settings. What uses the async pool depends on the
``--apps`` option of ``airflow api-server``:
+
+- ``execution``: task heartbeats and several Execution API reads.
+- ``core``: the audit log entry recorded for each write request through the
REST API or the UI.
+- ``all`` (the default): both of the above.
+
+In every mode a worker can therefore open up to twice ``sql_alchemy_pool_size
+ sql_alchemy_max_overflow`` connections (30 with the defaults) and keep up to
twice ``sql_alchemy_pool_size`` of them idle. Account for this, per ``[api]
workers``, when sizing PgBouncer or the database's ``max_connections``.
+
+The async pool is used since #67800, #73403, #73407 and #76416.