From 800521ccee0c1ac6d6d40b0c818fb744019040e4 Mon Sep 17 00:00:00 2001 From: William Mak Date: Tue, 2 Jun 2026 12:22:55 -0400 Subject: [PATCH 1/2] feat(events): Add a log for query errors - As ai usage increases we're getting more query errors, log these so we can get a better idea of what kind of query errors are happening --- src/sentry/api/utils.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/sentry/api/utils.py b/src/sentry/api/utils.py index cf1b55f029fd..5a9d41c9b9de 100644 --- a/src/sentry/api/utils.py +++ b/src/sentry/api/utils.py @@ -372,11 +372,9 @@ def handle_query_errors() -> Generator[None]: message = str(error) # Special case the project message since it has so many variants so tagging is messy otherwise if message.endswith("do not exist or are not actively selected."): - sentry_sdk.set_tag( - "query.error_reason", "Project in query does not exist or not selected" - ) - else: - sentry_sdk.set_tag("query.error_reason", message) + message = "Project in query does not exist or not selected" + sentry_sdk.set_tag("query.error_reason", message) + logger.info(message) raise ParseError(detail=message) except ArithmeticError as error: message = str(error) From b14d2ca17a939b547206eb7f39936d92d7756181 Mon Sep 17 00:00:00 2001 From: William Mak Date: Tue, 2 Jun 2026 13:07:36 -0400 Subject: [PATCH 2/2] fix --- src/sentry/api/utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sentry/api/utils.py b/src/sentry/api/utils.py index 5a9d41c9b9de..cc7f4ca33f19 100644 --- a/src/sentry/api/utils.py +++ b/src/sentry/api/utils.py @@ -369,13 +369,13 @@ def handle_query_errors() -> Generator[None]: try: yield except InvalidSearchQuery as error: - message = str(error) + message = original_error = str(error) # Special case the project message since it has so many variants so tagging is messy otherwise if message.endswith("do not exist or are not actively selected."): message = "Project in query does not exist or not selected" sentry_sdk.set_tag("query.error_reason", message) - logger.info(message) - raise ParseError(detail=message) + logger.info("A query error was handled", extra={"query.error_reason": message}) + raise ParseError(detail=original_error) except ArithmeticError as error: message = str(error) sentry_sdk.set_tag("query.error_reason", message)