Skip to content

Fix None-valued OTel span attributes in triggerer#66411

Open
jakubmatyszewski wants to merge 1 commit intoapache:mainfrom
jakubmatyszewski:fix_triggerer_otel_span
Open

Fix None-valued OTel span attributes in triggerer#66411
jakubmatyszewski wants to merge 1 commit intoapache:mainfrom
jakubmatyszewski:fix_triggerer_otel_span

Conversation

@jakubmatyszewski
Copy link
Copy Markdown

Noticed following error in triggerer logs:

[2026-05-05T08:02:00.644020Z] {{__init__.py:149}} ERROR - Failed to encode key result: Invalid type <class 'NoneType'> of value None
Traceback (most recent call last):
  File "/home/airflow/.local/lib/python3.13/site-packages/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py", line 146, in _encode_attributes
    _encode_key_value(key, value, allow_null=allow_null)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/airflow/.local/lib/python3.13/site-packages/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py", line 107, in _encode_key_value
    key=key, value=_encode_value(value, allow_null=allow_null)
                   ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/airflow/.local/lib/python3.13/site-packages/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py", line 100, in _encode_value
    raise Exception(f"Invalid type {type(value)} of value {value}")
Exception: Invalid type <class 'NoneType'> of value None

I've compared implementation of _make_trigger_span* with _make_task_span* and my guess is that it failed due to map_index being None.
Proposed fix filters out None values before building the attributes dict.


Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.

@jakubmatyszewski jakubmatyszewski force-pushed the fix_triggerer_otel_span branch from 3156867 to 75fb460 Compare May 5, 2026 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant