dsuhinin opened a new pull request, #68895:
URL: https://github.com/apache/airflow/pull/68895
Problem
-------
`AirflowConfigParser.getsection()` has an early-exit guard that returns
`None` when a section is absent
from both the live config and `self._default_values`. Since provider
config moved to lazy registration
(via `configuration_description` / provider cfg fallbacks), sections whose
keys all default to `None` —
e.g. `celery_broker_transport_options` — are no longer eager-loaded into
`_default_values`. The guard
therefore fired before the env-var loop ran, silently discarding every
`AIRFLOW__<SECTION>__<KEY>`
override on those sections.
In practice this broke Celery worker startup with `'master_name' transport
option must be specified`,
even though `AIRFLOW__CELERY_BROKER_TRANSPORT_OPTIONS__MASTER_NAME` was
set.
Fix
---
Replace the `self._default_values.has_section(...)` check in the guard with
`self._has_section_in_any_defaults(...)`, which also consults provider
fallback defaults. Sections
declared only in provider metadata are now recognised, so the env-var
resolution loop runs and overrides
are applied. Truly unknown sections with no env vars still correctly
return `None`.
Adds regression tests covering: an env-var-only provider section, a
section that exists only via cfg
fallback defaults, and a genuinely unknown section.
--
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]