Home / Companies / Sentry / Blog / Post Details
Content Deep Dive

How a broken release name overloaded our symbolication database

Blog post from Sentry

Post Details
Company
Date Published
Author
Michael Warkentin
Word Count
1,642
Company Posts That Month
3
Language
English
Hacker News Points
-
Post removed?
No
Summary

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.

Trends Found in this Post
Trend Post Mentions Total Month Mentions Posts Companies MoM
MCP 1 4,439 399 125 -63%
Use This Data

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.