Skip to content

Fix None-valued OTel span attributes in triggerer#66411

Open
jakubmatyszewski wants to merge 1 commit into
apache:mainfrom
jakubmatyszewski:fix_triggerer_otel_span
Open

Fix None-valued OTel span attributes in triggerer#66411
jakubmatyszewski wants to merge 1 commit into
apache: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.

@potiuk
Copy link
Copy Markdown
Member

potiuk commented May 11, 2026

@jakubmatyszewski A few things need addressing before review — see our Pull Request quality criteria.

  • Pre-commit / static checks — Failing: CI image checks / Static checks. See docs.

No rush.


Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you.


Drafted-by: Claude Code (Opus 4.7); reviewed by @potiuk before posting

@jakubmatyszewski jakubmatyszewski force-pushed the fix_triggerer_otel_span branch from 75fb460 to f0c7d7c Compare May 11, 2026 08:30
@potiuk potiuk added the ready for maintainer review Set after triaging when all criteria pass. label May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Triggerer ready for maintainer review Set after triaging when all criteria pass.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants