Skip to content

fix(grouping): Avoid mutating class-level initial_context in grouping info endpoint#109009

Merged
joshuarli merged 2 commits intomasterfrom
fix/test-pollution-grouping-info-108776
Feb 26, 2026
Merged

fix(grouping): Avoid mutating class-level initial_context in grouping info endpoint#109009
joshuarli merged 2 commits intomasterfrom
fix/test-pollution-grouping-info-108776

Conversation

@joshuarli
Copy link
Member

@joshuarli joshuarli commented Feb 23, 2026

Summary

Fixes #108776
Fixes #108878
Fixes #108923
Fixes #108929
Fixes #108971
Fixes #108984
Fixes #108985
Fixes #108987
Fixes #108999

EventGroupingInfoEndpoint.get() mutates grouping_config.initial_context["reverse_stacktraces"], but initial_context is a class-level dict on StrategyConfiguration, not an instance attribute. This mutation persists across all subsequent uses of the same grouping config class, causing reverse_when_serializing to be set on stacktrace components and reversing frame order in snapshot tests.

  • Create an instance-level copy of initial_context before mutating it

Test plan

  • Verified all 9 polluter+victim combinations pass after the fix

…uping info endpoint

The EventGroupingInfoEndpoint was mutating the class-level `initial_context`
dict on StrategyConfiguration when setting `reverse_stacktraces`. Since
`initial_context` is a class attribute (not instance), this mutation persisted
across all subsequent uses of the same grouping config class, causing
`reverse_when_serializing` to be set on stacktrace components and reversing
frame order in grouping info snapshots.

Fix: create an instance-level copy of `initial_context` before mutating it.
@joshuarli joshuarli marked this pull request as ready for review February 25, 2026 22:21
@joshuarli joshuarli requested review from a team as code owners February 25, 2026 22:21
@joshuarli joshuarli merged commit 267604b into master Feb 26, 2026
79 checks passed
@joshuarli joshuarli deleted the fix/test-pollution-grouping-info-108776 branch February 26, 2026 00:11
@github-actions github-actions bot locked and limited conversation to collaborators Mar 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Scope: Backend Automatically applied to PRs that change backend components test-pollution

Projects

None yet

3 participants