Skip to content

fix(ci): Update tests to seed the correct column for ai_conversations#120608

Open
pbhandari wants to merge 1 commit into
masterfrom
fix/seed-correct-ai_conversation_id-field
Open

fix(ci): Update tests to seed the correct column for ai_conversations#120608
pbhandari wants to merge 1 commit into
masterfrom
fix/seed-correct-ai_conversation_id-field

Conversation

@pbhandari

@pbhandari pbhandari commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Description

Tests were only seeding the un-indexed gen_ai.conversation.id field when running the tests. After merging snuba side perf-improvements in getsentry/snuba#8185; the CI started failing due to us not seeding the right field.

This now updates the tests so that we always seed the indexed column; and adds a useful error message if we end up forgetting this.

Original failing CI run: https://sentry.slack.com/archives/CUHS29QJ0/p1784920298033589
Snuba CI has been updated to use the failing test in getsentry/snuba#8221, updating the CI to use this branch temporarily causes the CI to pass in this run.

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

@pbhandari
pbhandari requested review from a team as code owners July 24, 2026 22:46
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Jul 24, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit e7ce3a1. Configure here.

organization_id=span["organization_id"],
project_id=span["project_id"],
item_type=TraceItemType.TRACE_ITEM_TYPE_SPAN,
conversation_id=span.get("ai_conversation_id", ""),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test helper mismatches production path

Medium Severity

span_to_trace_item seeds TraceItem.conversation_id from a fabricated ai_conversation_id field and asserts when only gen_ai.conversation.id is present. Production convert_span_to_item still derives the column from that attribute and keeps it, so this rejects valid production-shaped test data and mislabels the attribute as deprecated.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit e7ce3a1. Configure here.

organization_id=span["organization_id"],
project_id=span["project_id"],
item_type=TraceItemType.TRACE_ITEM_TYPE_SPAN,
conversation_id=span.get("ai_conversation_id", ""),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it the proper name for the attribute?

@pbhandari pbhandari Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I was gonna raise this once I got everything else working. On the protobuf side ai_conversation_id doesn't exist, but conversation_id does (Protobuf Definition) (and that's what the tests rely on).

@pbhandari
pbhandari force-pushed the fix/seed-correct-ai_conversation_id-field branch from e7ce3a1 to 2beeffb Compare July 25, 2026 00:00
timestamp.FromMilliseconds(span["start_timestamp_ms"])

if "gen_ai.conversation.id" in span.get("data", {}) and "ai_conversation_id" not in span:
assert False, "gen_ai.conversation.id is deprecated. Use the newer indexed on instead."

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assert False, "gen_ai.conversation.id is deprecated. Use the newer indexed on instead."
assert False, "gen_ai.conversation.id is deprecated. Use the newer indexed one instead."

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