getsentry / getsentry/sentry

[grouping] Config transition doesn't include tombstones

Open
#91,167 0 comments 0 reactions 1 assignee Claimed by @lobsterkatie View on GitHub
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 10m
Merged PRs (30d)
635

Description

When a project is in grouping config transition, we calculate old and new hashes, and link the new hashes to the group associated with the old hashes, so that future events go into the existing group.

We don't, however, do the same with tombstones. If a user delete-and-discards an issue whose hashes were calculated with the old config, those old hashes will be associated with a tombstone, but the new hashes won't get linked to the same tombstone, because tombstones aren't considered in the config transition process. This means that events which should remain blocked have the potential to show up again every time we introduce a new grouping config.

Fixing this should just be a matter of modifying `find_grouphash_with_group` [here](https://github.com/getsentry/sentry/blob/bede2f992f94b99bbc3a6086d45e50f531d68d1f/src/sentry/grouping/ingest/hashing.py#L188) to return rather than error when a tombstone is found, and modifying the spots where it's used to check whether the returned grouphash has a group or tombstone associated and act accordingly.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.