Parsing dag bundles creates lots of log noise on task startup with `GitDagBundle`
- Dominant language
- Python
- Stars
- 46.9k
- Forks
- 17.8k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 483
Description
### Under which category would you file this issue?
Providers
### Apache Airflow version
3.2.1
### What happened and how to reproduce it?
We have 21 dag bundles loaded into our multi team airflow deployment, and at the beginning of a task I counted 81 log lines like the following:
```
[2026-07-13 13:32:29] INFO - DAG bundles loaded: dags-folder, airflow-sandbox, {other dag bundles},
```
all of these apart from `dags-folder` (`LocalDagBundle`) are `GitDagBundle` bundles
These logs are not useful to the dag authors or operators running the tasks, and clutter up the task logs.
### What you think should happen instead?
This log should only be shown once when `DagBundlesManager.parse_config()` gets called, but it is being called multiple times here on multiple dag bundles for each task. It should also be possible ahead of time to work out which dag bundle needs to be processed for a given task.
### Operating System
Debian GNU/Linux 12 (bookworm)
### Deployment
Other Docker-based deployment
### Apache Airflow Provider(s)
git
### Versions of Apache Airflow Providers
`apache-airflow-providers-git==0.3.1`
### Official Helm Chart version
Not Applicable
### Kubernetes Version
1.33.5
### Helm Chart configuration
_No response_
### Docker Image customizations
_No response_
### Anything else?
_No response_
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [x] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
Contributor guide
Research direction
Start by tracing the repeated calls to DagBundlesManager.parse_config() and the GitDagBundle task-startup path described in the issue. Confirm where the “DAG bundles loaded” message is emitted and how the relevant bundle is selected. Done means the message is logged once during configuration parsing rather than repeatedly in task logs, with coverage for the affected behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, python
- Domain
- data-engineering
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100