feat(data-export): Improve observability for failure emails#116917
Open
sentry[bot] wants to merge 3 commits into
Open
feat(data-export): Improve observability for failure emails#116917sentry[bot] wants to merge 3 commits into
sentry[bot] wants to merge 3 commits into
Conversation
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a258869. Configure here.
Rename misleading mail.sent log to mail.attempted since neither notify_async (killswitch) nor send_async (safe_execute) guarantees the mail was queued, and log user_id instead of user.email to avoid persisting PII to durable log storage.
manessaraj
approved these changes
Jun 5, 2026
Member
|
Context: I directed Sentry to make this to help investigate other data export failures. |
Contributor
|
This pull request has gone three weeks without activity. In another week, I will close it. But! If you comment or otherwise update it, I will reset the clock, and if you add the label "A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This PR enhances the observability of data export failure emails by adding explicit logging at key stages of the
email_failuremethod insentry/data_export/models.py.Previously, if a data export failed and the subsequent failure email was not dispatched (e.g., due to a missing user ID, no associated email, or issues within the notification service itself), there was no clear log indicating why the email was not sent or if it was attempted at all. This made debugging user reports of not receiving failure notifications challenging.
Changes include:
logger.warningstatements for early exits inemail_failurewhenuser_idisNoneoruser.emailis not found. This provides visibility into cases where an email cannot be sent due to missing user information.data-export-failure.mail.sentlogger.infostatement after both theNotificationService.notify_asyncandMessageBuilder.send_asyncpaths. This log confirms that an attempt to send the failure email was made and indicates which notification mechanism was used via aviatag.These changes will provide clearer telemetry for data export failure notifications, making it easier to diagnose why users might not be receiving them.
Legal Boilerplate
Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.