How a broken release name overloaded our symbolication database
Blog post from Sentry
Sentry traced recurring symbolication latency incidents to a Postgres database storing source-map artifact bundles, where a small number of incorrectly named releases, including literal unexpanded CI variables such as “VERCEL_GIT_COMMIT_SHA” and “undefined,” accumulated millions of files and URL-index rows. Legacy source-map lookups based on release name and URL could attempt unbounded scans of these oversized releases, even though generated filenames could never match, and retries compounded the database load. Investigation, conducted through controlled queries on read replicas with AI assistance and engineer review, identified a worst-case release containing 13,595 bundles, 44 million URL-index rows, and lookups lasting minutes. The most consequential fix capped URL lookup scans at one million rows and cached misses, reducing peak database CPU from 76% to 19% and symbolicator timeouts by 98%; additional improvements split costly debug-ID queries, avoided rewriting index rows during bundle renewals, stopped indexing generated filenames, and disabled inefficient Postgres JIT compilation. The incident underscored the importance of bounding per-request database work, preventing futile retries, and ensuring CI environment variables are correctly expanded when assigning release names.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| MCP | 1 | 4,439 | 399 | 125 | -63% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.