Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/sentry/runner/commands/cleanup.py
Original file line number Diff line number Diff line change
Expand Up @@ -739,8 +739,10 @@ def remove_old_nodestore_values(days: int) -> None:
def remove_cross_project_bulk_query_models(
bulk_query_deletes: list[tuple[type[BaseModel], str, str | None]],
) -> list[tuple[type[BaseModel], str, str | None]]:
from sentry.models.groupopenperiodactivity import GroupOpenPeriodActivity
from sentry.workflow_engine.models.workflow_fire_history import WorkflowFireHistory

bulk_query_deletes.remove((GroupOpenPeriodActivity, "date_added", None))
bulk_query_deletes.remove((WorkflowFireHistory, "date_added", None))
return bulk_query_deletes

Expand All @@ -749,6 +751,7 @@ def generate_bulk_query_deletes() -> list[tuple[type[BaseModel], str, str | None
from django.apps import apps

from sentry.models.groupemailthread import GroupEmailThread
from sentry.models.groupopenperiodactivity import GroupOpenPeriodActivity
from sentry.models.userreport import UserReport
from sentry.workflow_engine.models.workflow_fire_history import WorkflowFireHistory

Expand All @@ -763,6 +766,7 @@ def generate_bulk_query_deletes() -> list[tuple[type[BaseModel], str, str | None
BULK_QUERY_DELETES = [
(UserReport, "date_added", None),
(GroupEmailThread, "date", None),
(GroupOpenPeriodActivity, "date_added", None),
(WorkflowFireHistory, "date_added", None),
] + additional_bulk_query_deletes

Expand Down
5 changes: 4 additions & 1 deletion tests/sentry/runner/commands/test_cleanup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from sentry.constants import ObjectStatus
from sentry.models.files.file import File
from sentry.models.group import Group
from sentry.models.groupopenperiodactivity import GroupOpenPeriodActivity
from sentry.runner.commands.cleanup import (
_cleanup,
generate_bulk_query_deletes,
Expand Down Expand Up @@ -234,13 +235,15 @@ def test_project_id_passed_to_task_queue(self) -> None:


class RemoveCrossProjectBulkQueryModelsTest(TestCase):
def test_removes_workflow_fire_history(self) -> None:
def test_removes_cross_project_models(self) -> None:
bulk_query_deletes = generate_bulk_query_deletes()
models_before = {m for m, _, _ in bulk_query_deletes}
assert GroupOpenPeriodActivity in models_before
assert WorkflowFireHistory in models_before

remove_cross_project_bulk_query_models(bulk_query_deletes)
models_after = {m for m, _, _ in bulk_query_deletes}
assert GroupOpenPeriodActivity not in models_after
assert WorkflowFireHistory not in models_after


Expand Down
Loading