From c72c076123e908864daa9be36c6e28084212241f Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 19:42:07 +0000 Subject: [PATCH] fix(sentry_apps): Defer resource change webhooks until transaction commit --- src/sentry/tasks/post_process.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/sentry/tasks/post_process.py b/src/sentry/tasks/post_process.py index b78071ea1bcb7f..d6053f5e1bd672 100644 --- a/src/sentry/tasks/post_process.py +++ b/src/sentry/tasks/post_process.py @@ -10,6 +10,7 @@ import sentry_sdk from django.conf import settings +from django.db import transaction from django.db.models.signals import post_save from django.utils import timezone from google.api_core.exceptions import ServiceUnavailable @@ -1166,16 +1167,20 @@ def process_resource_change_bounds(job: PostProcessJob) -> None: event, is_new = job["event"], job["group_state"]["is_new"] if event.get_event_type() == "error" and _should_send_error_created_hooks(event.project): - process_resource_change_bound.delay( - action="created", - sender="Error", - instance_id=event.event_id, - project_id=event.project_id, - group_id=event.group_id, + transaction.on_commit( + lambda: process_resource_change_bound.delay( + action="created", + sender="Error", + instance_id=event.event_id, + project_id=event.project_id, + group_id=event.group_id, + ) ) if is_new: - process_resource_change_bound.delay( - action="created", sender="Group", instance_id=event.group_id + transaction.on_commit( + lambda: process_resource_change_bound.delay( + action="created", sender="Group", instance_id=event.group_id + ) )