Eason09053360 commented on code in PR #73154:
URL: https://github.com/apache/airflow/pull/73154#discussion_r4129579741
##########
airflow-core/src/airflow/dag_processing/bundles/manager.py:
##########
@@ -343,15 +343,25 @@ def _extract_and_sign_template(bundle_name: str) ->
tuple[str | None, dict]:
return new_template_, new_params_
stored = {b.name: b for b in
session.scalars(select(DagBundleModel)).all()}
- bundle_to_team = {
- bundle.name: bundle.teams[0].name if len(bundle.teams) == 1 else
None
- for bundle in stored.values()
- }
+ bundle_to_team = (
+ DagBundleModel.get_team_names(stored.keys(), session=session)
+ if conf.getboolean("core", "multi_team")
+ else {}
+ )
+
+ teams_by_name: dict[str, Team] = {}
+ if configured_team_names := {
+ config.team_name for config in self._bundle_config.values() if
config.team_name
+ }:
Review Comment:
Thanks for the reviewing!
Done: both lookups now only run under `core.multi_team`.
Found one drawback: with the flag off, team ownership left from an earlier
multi-team setup is no longer cleared, and `requires_access_dag` still enforces
it, so non-admins get 403 on those Dags; main cleared it. Leaving
`get_team_names` ungated avoids that at one query per sync. Want me to?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]