[DRAFT] Remove query_builder from mypy typing-issues list#119028
[DRAFT] Remove query_builder from mypy typing-issues list#119028cursor[bot] wants to merge 3 commits into
1 issue
sentry-backend-bugs: Found 1 issue (1 high)
High
parse_public_field uses MRI regex instead of public-name regex, breaking all public metric field parsing - `src/sentry/snuba/metrics/query_builder.py:130-134`
Replacing PUBLIC_EXPRESSION_REGEX.match(field) with parse_expression(field) is incorrect: parse_expression uses MRI_EXPRESSION_REGEX which requires MRI format (entity:namespace/name@unit), so public fields like sum(session.duration) never match, causing operation=None and metric_name="sum(session.duration)", which then fails inside get_mri() with InvalidParams("Failed to parse 'sum(session.duration)'") for every API call with a public metric field.
⏱ 5m 25s · 685.6k in / 22.9k out · $0.90
Annotations
Check failure on line 134 in src/sentry/snuba/metrics/query_builder.py
sentry-warden / warden: sentry-backend-bugs
parse_public_field uses MRI regex instead of public-name regex, breaking all public metric field parsing
Replacing `PUBLIC_EXPRESSION_REGEX.match(field)` with `parse_expression(field)` is incorrect: `parse_expression` uses `MRI_EXPRESSION_REGEX` which requires MRI format (`entity:namespace/name@unit`), so public fields like `sum(session.duration)` never match, causing `operation=None` and `metric_name="sum(session.duration)"`, which then fails inside `get_mri()` with `InvalidParams("Failed to parse 'sum(session.duration)'")` for every API call with a public metric field.