You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(webapp,clickhouse): stop invalid customer queries alerting, and isolate Sentry scope per request
Three fixes to how query failures are reported.
Invalid TSQL is a caller mistake, not ours: executeTSQL now logs
ExposedTSQLError at warn and reserves error for InternalTSQLError and
unanticipated exceptions, so a bad column name no longer raises an alert.
The route above it already returned 400 and logged at warn; the layer
below was overriding that decision.
ClickHouse rejections that come from a query asking for too much (memory
ceiling, timeout, row/byte caps) drop to warn as well. Those are decided
in the client, which is the only place holding the parsed ClickHouseError
type, and queryWithStats gained a logFields option so a failing query is
recorded with the TSQL that generated it rather than the generated SQL
alone.
Sentry.init runs with skipOpenTelemetrySetup because we register our own
OTel pipeline, which also skipped installing SentryContextManager.
withIsolationScope only marks the context and relies on that manager to
fork, so without it every request shared one global isolation scope and
events were attributed to whichever request wrote last. The tracer now
registers it, including on the path where tracing is disabled and
register() was never called.
Invalid queries sent to the query API are no longer treated as internal errors, and a query that does fail is now recorded together with the query text that produced it.
0 commit comments