getsentry / getsentry/sentry

Pin individual events for longer periods than 90 day default retention

Open
#102,328 4 comments 1 reaction 0 assignees View on GitHub
Feature Product Area: Issues
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
22h 21m
Merged PRs (30d)
586

Description

### Problem Statement

Currently, Sentry does not allow the retention of issues or events for more than 90 days. This limitation poses a significant problem for teams maintaining desktop applications with long lifecycles.
In our case, these applications are used in Game Development, VFX, and Production workflows, where software versions remain fixed for extended periods—often years—to ensure consistent and reproducible results. Because of this, some bugs and crashes are difficult to reproduce or resolve within a 90-day window.
Furthermore, our tools serve a specialized user base, meaning issues occur infrequently. Losing historical events due to retention limits severely impacts our ability to investigate, diagnose, and improve software reliability.

### Solution Brainstorm

A pin system could allow users to retain individual events or issues for longer than the standard 90-day retention period — possibly even with an undefined duration.

This would enable teams to keep critical or hard-to-reproduce events beyond the automatic deletion window, which is especially valuable for long-lived desktop applications where issues may only surface or be addressed after several months.

To ensure fair usage and prevent storage abuse, these pins could be managed under a quota system, for example:

- 1000 pins per year, or
- 100 pins per month, or
- Up to 10 pinned events per issue

This approach would give teams the flexibility to preserve essential debugging data without significantly impacting Sentry’s storage model.

### Product Area

Unknown

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are identified in the issue. Start by locating the existing 90-day retention implementation and the data model for events or issues, then clarify the pinning and quota requirements before defining what an implementation and its tests would need to demonstrate.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.