Skip to content

Commit 366f019

Browse files
authored
fix(spans-migration): add fixes for alerts rollback migration (#104469)
to make sure we roll back all alerts (even failed ones) we're checking for the updating subscription state as well. I've also put everything in an atomic transaction so that there won't be any half updated alerts 😢
1 parent d1bb388 commit 366f019

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/sentry/explore/translation/alerts_translation.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,10 @@ def translate_detector_and_update_subscription_in_snuba(snuba_query: SnubaQuery)
179179

180180

181181
def rollback_detector_query_and_update_subscription_in_snuba(snuba_query: SnubaQuery):
182+
# querying for updating as well just in case the subscription gets stuck in updating
182183
query_subscription_qs = QuerySubscription.objects.filter(
183-
snuba_query_id=snuba_query.id, status=QuerySubscription.Status.ACTIVE.value
184+
snuba_query_id=snuba_query.id,
185+
status__in=[QuerySubscription.Status.ACTIVE.value, QuerySubscription.Status.UPDATING.value],
184186
)
185187
query_subscription = query_subscription_qs.first()
186188

@@ -200,6 +202,7 @@ def rollback_detector_query_and_update_subscription_in_snuba(snuba_query: SnubaQ
200202
snapshot = snuba_query.query_snapshot
201203

202204
if not snapshot:
205+
logger.info("No snapshot found for snuba query %s", snuba_query.id)
203206
return
204207

205208
# Skip rollback if user has already updated this alert/monitor
@@ -212,6 +215,7 @@ def rollback_detector_query_and_update_subscription_in_snuba(snuba_query: SnubaQ
212215
detectors = data_source.detectors.all()
213216

214217
old_query_type, old_dataset, old_query, old_aggregate = _get_old_query_info(snuba_query)
218+
215219
with atomic_transaction(
216220
using=(
217221
router.db_for_write(SnubaQuery),
@@ -262,4 +266,7 @@ def rollback_detector_query_and_update_subscription_in_snuba(snuba_query: SnubaQ
262266
event_types=[SnubaQueryEventType.EventType.TRANSACTION],
263267
)
264268

269+
logger.info(
270+
"Query successfully rolled back to legacy", extra={"snuba_query_id": snuba_query.id}
271+
)
265272
return

0 commit comments

Comments
 (0)