Skip to content

fix(tagstore): Skip array meta-columns in tag value paginator#117018

Merged
Zylphrex merged 1 commit into
masterfrom
fix/tag-value-paginator-array-meta-columns
Jun 5, 2026
Merged

fix(tagstore): Skip array meta-columns in tag value paginator#117018
Zylphrex merged 1 commit into
masterfrom
fix/tag-value-paginator-array-meta-columns

Conversation

@Zylphrex

@Zylphrex Zylphrex commented Jun 5, 2026

Copy link
Copy Markdown
Member

Summary

Fixes SENTRY-5PD7: TypeError: unhashable type: 'list'.

Querying tag values for the array meta-columns tags.key / tags.value crashed in
snuba.nest_groups. These columns map to themselves in the snuba column map and have no
arrayjoin (get_arrayjoin only matches exception_stacks|exception_frames|contexts), so the
backend issued a GROUP BY tags.key query and snuba returned an array per row. nest_groups
then used that list as a dict key → crash.

The trigger in production was the Seer public RPC get_event_filter_key_values, which forwarded
filter_key="tags.key" to the tags-values endpoint, but any caller of that endpoint was affected.

Fix

tags.key / tags.value are array meta-columns, not real tags, and have no meaningful values to
suggest. They now short-circuit to an empty paginator in get_tag_value_paginator_for_projects,
using the same early-return blacklist that already handles trace.*, event_id, timestamp, etc.

Testing

  • Added test_get_tag_value_paginator_array_meta_columns asserting both keys return [] instead
    of raising.
  • Verified the new test fails without the fix (reproduces the GROUP BY tags.key crash path) and
    passes with it.
  • prek lint clean on both files.

Fixes SENTRY-5PD7

Querying tag values for the array meta-columns tags.key/tags.value crashed with
"TypeError: unhashable type: 'list'" in snuba.nest_groups. These columns map to
themselves in the snuba column map and have no arrayjoin, so grouping by them returns
an array per row, which nest_groups then uses as an unhashable dict key.

They are not real tags and have no meaningful values to suggest, so short-circuit them
to an empty paginator like the other non-suggestable columns (trace.*, event_id, etc.).

Fixes SENTRY-5PD7
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Zylphrex Zylphrex requested a review from a team as a code owner June 5, 2026 20:05
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Jun 5, 2026
@Zylphrex Zylphrex merged commit ea31ce8 into master Jun 5, 2026
71 checks passed
@Zylphrex Zylphrex deleted the fix/tag-value-paginator-array-meta-columns branch June 5, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants