Skip to content

Commit ee4d946

Browse files
committed
ref: Remove unused Group.get_oldest_event and legacy events behavior
Removes the "snuba.events-queries.enabled" option and legacy code paths that were not being used in production. Also removes the unused Group.get_oldest_event method. Part 4 of #13905
1 parent f53a9c9 commit ee4d946

File tree

2 files changed

+63
-74
lines changed

2 files changed

+63
-74
lines changed

src/sentry/models/group.py

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from django.utils.http import urlencode
2121
from django.utils.translation import ugettext_lazy as _
2222

23-
from sentry import eventtypes, tagstore, options
23+
from sentry import eventtypes, tagstore
2424
from sentry.constants import (
2525
DEFAULT_LOGGER_NAME, EVENT_ORDERING_KEY, LOG_LEVELS, MAX_CULPRIT_LENGTH
2626
)
@@ -393,41 +393,13 @@ def get_latest_event(self):
393393
return self._latest_event
394394

395395
def get_latest_event_for_environments(self, environments=()):
396-
use_snuba = options.get('snuba.events-queries.enabled')
397-
398-
# Fetch without environment if Snuba is not enabled
399-
if not use_snuba:
400-
return self.get_latest_event()
401-
402396
return get_oldest_or_latest_event_for_environments(
403397
EventOrdering.LATEST,
404398
environments=environments,
405399
issue_id=self.id,
406400
project_id=self.project_id)
407401

408-
def get_oldest_event(self):
409-
from sentry.models import Event
410-
411-
if not hasattr(self, '_oldest_event'):
412-
oldest_events = sorted(
413-
Event.objects.filter(
414-
group_id=self.id,
415-
).order_by('datetime')[0:5],
416-
key=EVENT_ORDERING_KEY,
417-
)
418-
try:
419-
self._oldest_event = oldest_events[0]
420-
except IndexError:
421-
self._oldest_event = None
422-
return self._oldest_event
423-
424402
def get_oldest_event_for_environments(self, environments=()):
425-
use_snuba = options.get('snuba.events-queries.enabled')
426-
427-
# Fetch without environment if Snuba is not enabled
428-
if not use_snuba:
429-
return self.get_oldest_event()
430-
431403
return get_oldest_or_latest_event_for_environments(
432404
EventOrdering.OLDEST,
433405
environments=environments,

tests/sentry/models/test_group.py

Lines changed: 62 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from __future__ import absolute_import
22

3-
import six
4-
5-
from datetime import datetime, timedelta
3+
from datetime import timedelta
64

75
import pytest
86
from django.db.models import ProtectedError
@@ -16,6 +14,13 @@
1614

1715

1816
class GroupTest(TestCase):
17+
def setUp(self):
18+
super(GroupTest, self).setUp()
19+
self.min_ago = (timezone.now() - timedelta(minutes=1)).isoformat()[:19]
20+
self.two_min_ago = (timezone.now() - timedelta(minutes=2)).isoformat()[:19]
21+
self.sec_ago = (timezone.now() - timedelta(seconds=1)).isoformat()[:19]
22+
self.two_sec_ago = (timezone.now() - timedelta(seconds=1)).isoformat()[:19]
23+
1924
def test_is_resolved(self):
2025
group = self.create_group(status=GroupStatus.RESOLVED)
2126
assert group.is_resolved()
@@ -36,56 +41,68 @@ def test_is_resolved(self):
3641

3742
assert group.is_resolved()
3843

39-
def test_get_oldest_latest_event_no_events(self):
40-
group = self.create_group()
44+
def test_get_latest_event_no_events(self):
45+
project = self.create_project()
46+
group = self.create_group(project=project)
4147
assert group.get_latest_event() is None
42-
assert group.get_oldest_event() is None
4348

44-
def test_get_oldest_latest_events(self):
45-
group = self.create_group()
46-
for i in range(0, 3):
47-
self.create_event(
48-
event_id=six.text_type(i),
49-
group=group,
50-
datetime=datetime(2013, 8, 13, 3, 8, i),
51-
)
52-
53-
assert group.get_latest_event().event_id == '2'
54-
assert group.get_oldest_event().event_id == '0'
49+
def test_get_latest_event(self):
50+
self.store_event(
51+
data={
52+
'event_id': 'a' * 32,
53+
'fingerprint': ['group-1'],
54+
'timestamp': self.two_min_ago,
55+
},
56+
project_id=self.project.id,
57+
)
58+
self.store_event(
59+
data={
60+
'event_id': 'b' * 32,
61+
'fingerprint': ['group-1'],
62+
'timestamp': self.min_ago,
63+
},
64+
project_id=self.project.id,
65+
)
5566

56-
def test_get_oldest_latest_identical_timestamps(self):
57-
group = self.create_group()
58-
for i in range(0, 3):
59-
self.create_event(
60-
event_id=six.text_type(i),
61-
group=group,
62-
datetime=datetime(2013, 8, 13, 3, 8, 50),
63-
)
67+
group = Group.objects.first()
6468

65-
assert group.get_latest_event().event_id == '2'
66-
assert group.get_oldest_event().event_id == '0'
69+
assert group.get_latest_event().event_id == 'b' * 32
6770

68-
def test_get_oldest_latest_almost_identical_timestamps(self):
69-
group = self.create_group()
70-
self.create_event(
71-
event_id='0',
72-
group=group,
73-
datetime=datetime(2013, 8, 13, 3, 8, 0), # earliest
74-
)
75-
for i in range(1, 3):
76-
self.create_event(
77-
event_id=six.text_type(i),
78-
group=group,
79-
datetime=datetime(2013, 8, 13, 3, 8, 30), # all in the middle
71+
def test_get_latest_identical_timestamps(self):
72+
events = []
73+
for i in 'abc':
74+
event = self.store_event(
75+
data={
76+
'event_id': i * 32,
77+
'fingerprint': ['group-1'],
78+
'timestamp': self.min_ago,
79+
},
80+
project_id=self.project.id,
8081
)
81-
self.create_event(
82-
event_id='3',
83-
group=group,
84-
datetime=datetime(2013, 8, 13, 3, 8, 59), # latest
82+
events.append(event)
83+
84+
assert events[0].group.get_latest_event().event_id == 'c' * 32
85+
86+
def test_get_latest_almost_identical_timestamps(self):
87+
self.store_event(
88+
data={
89+
'event_id': 'a' * 32,
90+
'fingerprint': ['group-1'],
91+
'timestamp': self.two_sec_ago,
92+
},
93+
project_id=self.project.id,
94+
)
95+
self.store_event(
96+
data={
97+
'event_id': 'b' * 32,
98+
'fingerprint': ['group-1'],
99+
'timestamp': self.sec_ago,
100+
},
101+
project_id=self.project.id,
85102
)
103+
group = Group.objects.first()
86104

87-
assert group.get_latest_event().event_id == '3'
88-
assert group.get_oldest_event().event_id == '0'
105+
assert group.get_latest_event().event_id == 'b' * 32
89106

90107
def test_is_ignored_with_expired_snooze(self):
91108
group = self.create_group(

0 commit comments

Comments
 (0)