Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ref(test-alerts): Adds exception filtering for IntegrationErrors to be shown in the UI: #78653

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

GabeVillalobos
Copy link
Member

@GabeVillalobos GabeVillalobos commented Oct 4, 2024

  • Adds a new ApiInvalidRequestError type, to better differentiate between 400 and unhandled non-400 responses from downstream APIs.
  • Adds filtering to our ticket creation utils which only propagates IntegrationFormErrors when a known 400 status response is received by requests to an integration's API
  • Adds sentry error IDs to unhandled test notification errors for easier customer triage.

Note: This does not fix the brunt of the IntegrationFormError sentry issues we're getting for Jira, which I'll address in a follow-up PR, but this does give me more confidence to GA the UI error reporting for test notifications.

Uses this to narrow the criteria for an IntegrationFormErrors being
raised for erorr propagation safety.
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Oct 4, 2024
@@ -110,7 +111,10 @@ def execute_future_on_test_event(
logger.warning(
"%s.test_alert.unexpected_exception", callback_name, exc_info=True
)
break
error_id = sentry_sdk.capture_exception(exc)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realize this will add a bit more noise to our sentry issues in the short term, so I may need to split this out into a separate exception type, or perhaps just an info level log? Either way, we probably want to add custom handling for these exceptions to reduce customer confusion when they see this response.

Copy link

codecov bot commented Oct 4, 2024

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
21723 1 21722 214
View the top 1 failed tests by shortest run time
tests.snuba.tagstore.test_tagstore_backend.TagStorageTest test_get_top_group_tag_values_generic
Stack Traces | 10.3s run time
#x1B[1m#x1B[.../snuba/tagstore/test_tagstore_backend.py#x1B[0m:373: in test_get_top_group_tag_values_generic
    resp = self.ts.get_top_group_tag_values(
#x1B[1m#x1B[.../tagstore/snuba/backend.py#x1B[0m:694: in get_top_group_tag_values
    tag = self.__get_tag_key_and_top_values(
#x1B[1m#x1B[.../tagstore/snuba/backend.py#x1B[0m:186: in __get_tag_key_and_top_values
    raise TagKeyNotFound if group is None else GroupTagKeyNotFound
#x1B[1m#x1B[31mE   sentry.tagstore.exceptions.GroupTagKeyNotFound#x1B[0m

To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Backend Automatically applied to PRs that change backend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant