Skip to content

fix(ci): cap snuba bulk-query thread pool to 4 under per-worker Snuba#114215

Draft
mchen-sentry wants to merge 2 commits into
masterfrom
mchen/ci-snuba-pool-monkeypatch
Draft

fix(ci): cap snuba bulk-query thread pool to 4 under per-worker Snuba#114215
mchen-sentry wants to merge 2 commits into
masterfrom
mchen/ci-snuba-pool-monkeypatch

Conversation

@mchen-sentry
Copy link
Copy Markdown
Member

We're seeing RateLimitExceeded flakes from CrossOrgQueryAllocationPolicy on the errors storage in CI when bulk_snuba_queries fans out wide (e.g. backfill_supergroups_lightweight). Per-worker Snuba enforces a rejection_threshold of 4 concurrent queries, but the executor in sentry.utils.snuba defaults to max_workers=10. Replacing the previous closed PR (#114105) which added a constant inside snuba.py — this version monkey-patches the executor as imported by sentry.utils.snuba from the pytest plugin only, so production code is untouched and the cap is scoped to that module's executor uses.

Per-worker Snuba in CI enforces CrossOrgQueryAllocationPolicy with a
rejection_threshold of 4 concurrent queries on the errors storage; the
default fan-out of 10 in bulk_snuba_queries trips the policy and surfaces
flakes. Override the ContextPropagatingThreadPoolExecutor as imported by
sentry.utils.snuba so only that module's executor is capped — production
code is unmodified, and other modules using the same executor are
unaffected.
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Apr 28, 2026
@getsantry
Copy link
Copy Markdown
Contributor

getsantry Bot commented May 29, 2026

This issue 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 remove the label Waiting for: Community, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry Bot added the Stale label May 29, 2026
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 Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant