Load hook metadata from YAML without importing Hook class#63826
Load hook metadata from YAML without importing Hook class#63826potiuk merged 10 commits intoapache:mainfrom
Conversation
9ef77fa to
7cbaccd
Compare
amoghrajesh
left a comment
There was a problem hiding this comment.
Direction looks fine, some comments but otherwise looks fine!
airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py
Outdated
Show resolved
Hide resolved
airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py
Outdated
Show resolved
Hide resolved
|
@yuseok89 This PR has a few issues that need to be addressed before it can be reviewed — please see our Pull Request quality criteria. Issues found:
What to do next:
There is no rush — take your time and work at your own pace. We appreciate your contribution and are happy to wait for updates. If you have questions, feel free to ask on the Airflow Slack. |
choo121600
left a comment
There was a problem hiding this comment.
Looks great!
This part was causing flaky issues, so thanks for fixing it 🙌
…#63826) * Load hook metadata from YAML without importing Hook class * Add hook-name to all provider.yaml connection-types * Add hook-name to connection types and regenerate get_provider_info.py * Fix ruff import order in connections.py * fix: import ProvidersManager at top level per review * Fix provider connection hook display names * Add iter_connection_type_hook_ui_metadata for connection UI hook metadata (cherry picked from commit c4a209b) Co-authored-by: Yuseok Jo <yuseok89@gmail.com>
Backport successfully created: v3-2-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
…apache#63826) * Load hook metadata from YAML without importing Hook class * Add hook-name to all provider.yaml connection-types * Add hook-name to connection types and regenerate get_provider_info.py * Fix ruff import order in connections.py * fix: import ProvidersManager at top level per review * Fix provider connection hook display names * Add iter_connection_type_hook_ui_metadata for connection UI hook metadata (cherry picked from commit c4a209b) Co-authored-by: Yuseok Jo <yuseok89@gmail.com>
Closes: #61815
Loading the Connection Add page is slow on the first uncached request because
hook_meta_data()imports Hook classes for every connection type. With 129+ providers, this cost becomes significant before the response can be cached.This PR changes the
GET /ui/connections/hook_metaresponse so it no longer imports Hook classes and instead uses only the metadata from provider.yaml via_load_ui_metadata(). This was made possible by @amoghrajesh 's provider.yaml migration, which moved connection UI metadata into YAML.In this change,
hook-nameis added to connection-types in provider.yaml for display in the connection type dropdown (falls back toconnection_typewhen absent).Before
Screen.Recording.2026-02-12.at.9.34.40.PM.mov
After
Screen.Recording.2026-03-18.at.11.04.44.PM.mov
Was generative AI tooling used to co-author this PR?
{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.