Skip to content

Commit 7dc9143

Browse files
dcramermattrobenolt
authored andcommitted
Handle GroupMeta in bulk project delete
1 parent a3b43a3 commit 7dc9143

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/sentry/tasks/deletion.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ def delete_project(object_id, continuous=True, **kwargs):
9393
from sentry.models import (
9494
Project, ProjectKey, ProjectStatus, TagKey, TagValue, GroupTagKey,
9595
GroupTagValue, Activity, EventMapping, Group, GroupEmailThread,
96-
GroupRuleStatus, GroupHash, GroupSeen, UserReport
96+
GroupRuleStatus, GroupHash, GroupMeta, GroupSeen, UserReport
9797
)
9898

9999
try:
@@ -121,6 +121,15 @@ def delete_project(object_id, continuous=True, **kwargs):
121121
delete_project.delay(object_id=object_id, countdown=15)
122122
return
123123

124+
# TODO(dcramer): GroupMeta has no project relation so we cant easily bulk
125+
# delete today
126+
has_more = delete_objects([GroupMeta], relation={'group__project': p},
127+
logger=logger)
128+
if has_more:
129+
if continuous:
130+
delete_project.delay(object_id=object_id, countdown=15)
131+
return
132+
124133
has_more = delete_events(relation={'project_id': p.id}, logger=logger)
125134
if has_more:
126135
if continuous:

tests/sentry/tasks/test_deletion.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from sentry.exceptions import DeleteAborted
66
from sentry.models import (
7-
GroupTagKey, GroupTagValue, Organization, OrganizationStatus, Project,
8-
ProjectStatus, TagKey, TagValue, Team, TeamStatus
7+
GroupMeta, GroupTagKey, GroupTagValue, Organization, OrganizationStatus,
8+
Project, ProjectStatus, TagKey, TagValue, Team, TeamStatus
99
)
1010
from sentry.tasks.deletion import (
1111
delete_organization, delete_project, delete_tag_key, delete_team
@@ -77,6 +77,8 @@ def test_simple(self):
7777
name='test',
7878
status=ProjectStatus.PENDING_DELETION,
7979
)
80+
group = self.create_group(project=project)
81+
GroupMeta.objects.create(group=group, key='foo', value='bar')
8082

8183
with self.tasks():
8284
delete_project(object_id=project.id)

0 commit comments

Comments
 (0)