Document OpenSearch logging override needed on Airflow 3.0.0 – 3.2.0#65209
Merged
potiuk merged 3 commits intoApr 14, 2026
Conversation
The wiring of OpensearchTaskHandler in the stock airflow_local_settings.py landed in Airflow 3.2.1. On 3.0.0 – 3.2.0 users must ship a custom logging_config_class to swap the task handler. Document the override and note that only provider 1.9.0+ is compatible with Airflow 3.
Member
Author
Make explicit in the doc that the airflow_local_settings.py override is only needed so the Airflow UI can read task logs back from OpenSearch on 3.0.0 – 3.2.0. Workers write logs as usual either way.
eladkal
approved these changes
Apr 14, 2026
Owen-CH-Leung
approved these changes
Apr 14, 2026
Owen-CH-Leung
left a comment
Contributor
There was a problem hiding this comment.
Very clear summary. Thanks!
Indeed the 1.9.0 provider only works with Airflow 3+. It won't work in Airflow 2 without an override like you mentioned
eladkal
reviewed
Apr 14, 2026
Earlier provider versions can still be installed on Airflow 3.x — they just cannot render task logs from OpenSearch in the UI.
potiuk
force-pushed
the
docs/opensearch-3-0-3-2-local-settings
branch
from
April 14, 2026 20:54
035af41 to
9aee4b5
Compare
60 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The OpenSearch task handler wiring in the stock
airflow_local_settings.pyonly landed in Airflow 3.2.1. On Airflow 3.0.0 – 3.2.0 the provider alone is not enough to read OpenSearch-stored task logs back into the Airflow UI — users must ship a customlogging_config_classthat swaps thetaskhandler so the UI's log viewer can fetch logs from OpenSearch.To be clear about scope: this is only about accessing logs in the UI. Tasks running on workers will still write logs as usual (to local files, stdout, or — with appropriate shipping — to OpenSearch). Without the override on 3.0.0 – 3.2.0, those logs reach OpenSearch fine but the UI cannot render them because no handler is registered to read them back.
This adds a new section to
providers/opensearch/docs/logging/index.rstthat:apache-airflow-providers-opensearch1.9.0+ is compatible with Airflow 3.airflow_local_settings.pysnippet that wiresOpensearchTaskHandlerso the UI can read logs from OpenSearch on Airflow 3.0.0 – 3.2.0.OPENSEARCH_HOSTbranch.write_to_os = Truedirect-write path also depends on supervisor plumbing only fully wired in 3.2.1+, so on 3.0.0 – 3.2.0 users should still ship logs with fluentd / logstash.Docs-only change.
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.6) following the guidelines