Skip to content

Commit ad44c22

Browse files
armenzgpriscilawebdev
authored andcommitted
fix(deletions): Switch to bulk deletions for GroupHistory (#102580)
This is how it used to be before #76608. Now that we have fixed the circular relationship (#102470) I believe we should give this approach another attempt. Fixes [SENTRY-5BX2](https://sentry.sentry.io/issues/6993998110/): For posterity: ``` OperationalError canceling statement due to user request SQL: SELECT "sentry_grouphistory"."id" AS "id" FROM "sentry_grouphistory" WHERE "sentry_grouphistory"."group_id" = %s ORDER BY 1 ASC LIMIT 100 ``` The group in question has only been seen 4 times yet it has 905,729 rows of group history. This is caused by the priority of the group changing back and forth between high and medium priority. We're investigating the root cause of it.
1 parent 8d33a6d commit ad44c22

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/sentry/deletions/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import functools
44
from typing import TYPE_CHECKING, Any
55

6+
from sentry import options
7+
68
if TYPE_CHECKING:
79
from sentry.db.models.base import Model
810
from sentry.deletions.base import BaseDeletionTask
@@ -64,7 +66,10 @@ def load_defaults(manager: DeletionTaskManager) -> None:
6466
manager.register(models.GroupEnvironment, BulkModelDeletionTask)
6567
manager.register(models.GroupHash, defaults.GroupHashDeletionTask)
6668
manager.register(models.GroupHashMetadata, BulkModelDeletionTask)
67-
manager.register(models.GroupHistory, defaults.GroupHistoryDeletionTask)
69+
if options.get("deletions.group-history.use-bulk-deletion"):
70+
manager.register(models.GroupHistory, BulkModelDeletionTask)
71+
else:
72+
manager.register(models.GroupHistory, defaults.GroupHistoryDeletionTask)
6873
manager.register(models.GroupLink, BulkModelDeletionTask)
6974
manager.register(models.GroupMeta, BulkModelDeletionTask)
7075
manager.register(models.GroupRedirect, BulkModelDeletionTask)

src/sentry/options/defaults.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,12 @@
343343
flags=FLAG_AUTOMATOR_MODIFIABLE,
344344
)
345345

346+
register(
347+
"deletions.group-history.use-bulk-deletion",
348+
default=False,
349+
type=Bool,
350+
flags=FLAG_AUTOMATOR_MODIFIABLE,
351+
)
346352

347353
register(
348354
"cleanup.abort_execution",

0 commit comments

Comments
 (0)