The GitHub Actions job "Tests (AMD)" on airflow.git/backport-d8b8620-v3-3-test has succeeded. Run started by GitHub user Lee-W (triggered by Lee-W).
Head commit for run: bb9bed64d12a82ac9a0823ea23ed31b5b60856b1 / Jason(Zhe-You) Liu <[email protected]> [v3-3-test] Clarify ``logging_config_class`` contract and document ``REMOTE_TASK_LOG`` (#67104) * Clarify ``logging_config_class`` contract and document REMOTE_TASK_LOG ``[logging] logging_config_class`` is documented as a "Logging class" but actually resolves to a ``logging.config.dictConfig`` dict, and the ``REMOTE_TASK_LOG`` / ``DEFAULT_REMOTE_CONN_ID`` side channel that powers remote log read-back was undocumented. Custom configs silently lost UI log read-back as a result. - Document the real contract for ``logging_config_class`` (dict, not class) and the ``REMOTE_TASK_LOG`` / ``DEFAULT_REMOTE_CONN_ID`` module-level attributes in the config option help, ``advanced-logging-configuration.rst``, and the ``discover_remote_log_handler`` docstring. - Add a startup ``WARNING`` when ``remote_logging`` is on but the user's logging module is missing ``REMOTE_TASK_LOG``, emitted from ``configure_logging`` after ``dictConfig`` runs so it sees the final state. * Fix CI error * CI: Fix pyproject.toml * Fix pyproject.toml * Drop LOGGING_CONFIG dict from remote logging docs section Document only REMOTE_TASK_LOG / DEFAULT_REMOTE_CONN_ID in the new remote logging section; do not show users a LOGGING_CONFIG dict to build. * Clarify user-defined logging config detection and simplify warning tests An empty ``logging_config_class`` falls back to the default, so treating it as user-defined under the old ``user_defined`` name was ambiguous per review feedback. Rename it to state what it actually checks and document why the empty-path case is excluded. Also collapse the near-duplicate ``TestWarnIfMissingRemoteTaskLog`` tests into one parametrized test using the project's ``conf_vars`` helper for the config override, per review suggestions on apache/airflow#67104. * Default remote_task_log to None and clarify empty logging_config_class handling _ActiveLoggingConfig.remote_task_log had no default, so _warn_if_missing_remote_task_log() raised AttributeError if it ran before _load_logging_config() ever populated the class. A short comment also clarifies that the `or DEFAULT_LOGGING_CONFIG_PATH` fallback intentionally covers an explicitly empty `logging_config_class = ""`. * Resolve missing-REMOTE_TASK_LOG warning via get_remote_task_log() The check read _ActiveLoggingConfig.remote_task_log directly, which is only populated once something has triggered resolution (previously the deprecated Elasticsearch/OpenSearch handler self-registration during dictConfig). A user with a custom logging_config_class whose remote logging actually resolves through ProvidersManager dispatch -- with no ES/OS handler in the mix -- got a false-positive warning because the cache was still cold at check time. Going through get_remote_task_log() triggers the real resolution lazily, so the check reflects whether remote logging is actually available. (cherry picked from commit d8b8620662d7587dd146f22eaf66d4d3f77cbbb9) Co-authored-by: Jason(Zhe-You) Liu <[email protected]> Report URL: https://github.com/apache/airflow/actions/runs/30354203420 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
