Sync v3-2-stable with v3-2-test to release 3.2.1rc1#65328
Merged
Conversation
Contributor
Author
|
Looking at conflicts |
…ommon case (#65029) (#65137) * Add fast-path heartbeat UPDATE to avoid row lock in the common case The ti_heartbeat endpoint now attempts a single guarded UPDATE (matching id, state, hostname, and pid) before falling back to the existing SELECT FOR UPDATE path. When the task is still running on the expected host this returns immediately, eliminating the row lock and a round trip for the vast majority of heartbeat calls. * fixup! Add fast-path heartbeat UPDATE to avoid row lock in the common case * Apply suggestions from code review * Fix static checks * fixup! Fix static checks --------- (cherry picked from commit c97d1a5) Co-authored-by: Ephraim Anierobi <splendidzigy24@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
…#65049 (#65245) Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
… multi_team=False (#65275) (#65282) get_team_name_dep() declared AsyncSessionDep as a FastAPI dependency parameter, which meant FastAPI checked out an async database connection on every Execution API request -- even when multi_team=False (the default), where the function immediately returned None without using the session. Remove the AsyncSessionDep parameter and create the session inside the function only when multi_team=True. This avoids a connection checkout, no-op commit round-trip, and connection return on every connection and variable lookup from workers. (cherry picked from commit 1e64f41) Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
…aints (#65244) (#65255) Pass exact version specifiers when installing apache-airflow, apache-airflow-core, and apache-airflow-task-sdk for the highest resolution constraint build so uv resolves against the versions currently declared in-tree rather than the latest published on PyPI. (cherry picked from commit d31f6ac) Co-authored-by: Jarek Potiuk <jarek@potiuk.com> Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
…5284) When _configure_async_session() was extracted from configure_orm() in PR #51920, the corresponding cleanup in dispose_orm() was not updated. This left async_engine connections abandoned on process exit, gunicorn worker restarts, and atexit -- gradually exhausting PostgreSQL's max_connections. Dispose async_engine.sync_engine (the synchronous path, matching the existing clean_in_fork pattern) and clear both async_engine and AsyncSession references. (cherry picked from commit 69a88bf) Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
…) (#65293) * Add overridable metadata engine creation hooks in settings.py * retrigger CI * Add tests and docs for metadata engine creation hooks Address review feedback: add unit tests proving configure_orm() and _configure_async_session() delegate to the overridable hooks, verify default implementations forward args correctly, and confirm overrides via airflow_local_settings.py take effect. Document the new hooks in cluster-policies.rst with function signatures and a JWT example. * Fix ruff formatting and restore settings attrs in teardown Ruff format required single-line function signatures. More importantly, teardown_method now restores the original create_metadata_engine and create_async_metadata_engine on the settings module to prevent the override from test_override_via_local_settings from leaking into subsequent test classes (e.g. test_sqlalchemy_config.py). * Update PR with Lee's comments (cherry picked from commit 85ccf1a) Co-authored-by: Arthur <arthur.volant@datadoghq.com>
* fix(connection): check pre-normalized conn_type when warning about presence of underscores in conn_type * feat(connection): added test_get_uri_conn_type_warning method to TestConnection * fix(connection): use conn_type attr as default value when checking conn_type for presence of underscores in get_uri * fix(connection): generalized test cases used by test_get_uri_conn_type_warning test to include connections instantiated using a URI and connections instantiated not using a URI * fix(connection): coalesce conn_type value to an empty string before checking for presence of underscores in conn_type in get_uri * refactor(connection): updated assertion messages in test_get_uri_conn_type_warning method * style(connection): formatting changes according to prek static checks (cherry picked from commit 06c75db) Co-authored-by: Michael Trossbach <mptrossbach@gmail.com>
* fix: use Dag form when materializing asset * fixup! fix: use Dag form when materializing asset * fixup! fixup! fix: use Dag form when materializing asset * fixup! fixup! fixup! fix: use Dag form when materializing asset * fixup! fixup! fixup! fixup! fix: use Dag form when materializing asset * test: add test case test_should_respond_200_with_trigger_fields_without_dag_run_id * fix: restore useTrigger in TriggerDAGModal after TriggerDAGForm refactor TriggerDAGForm no longer owns the trigger mutation after the refactor (onSubmitTrigger was made a prop). TriggerDAGModal must now supply useTrigger and pass error/isPending/onSubmitTrigger down to the form, otherwise clicking Trigger does nothing and dagRunId stays null. (cherry picked from commit b312314) Co-authored-by: Wei Lee <weilee.rx@gmail.com>
…#65312) The zip import error fix (#63617) changed the public signature of `DagFileProcessorManager.deactivate_deleted_dags` from `(bundle_name, present: set[DagFileInfo])` to `(bundle_name, observed_filelocs: set[str])`, breaking subclass overrides. Restore the original signature and compute observed filelocs internally. Also widen `DagModel.deactivate_deleted_dags` `rel_filelocs` type from `set[str]` to `Collection[str]` to accept both list and set callers. (cherry picked from commit 9ad468c) Co-authored-by: Ephraim Anierobi <splendidzigy24@gmail.com>
27d8ec1 to
b457a30
Compare
kaxil
approved these changes
Apr 15, 2026
ephraimbuddy
approved these changes
Apr 15, 2026
Contributor
|
Args, a bit too late with #65332 :-( |
jscheffl
approved these changes
Apr 15, 2026
jscheffl
left a comment
Contributor
There was a problem hiding this comment.
Skimmed over and all looks good! Looking forward to 3.2.1!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Time for 3.2.1rc1
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.