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]

Reply via email to