July 2015 Summaries
3 posts from Sentry
Filter
Month:
Year:
Post Summaries
Back to Blog
Sentry experienced a major outage due to Postgres' transaction ID (XID) wraparound issue, which can cause database corruption and data loss if not addressed promptly. The problem arises from the way Postgres handles XIDs, which are used to identify transactions, and the need for routine maintenance tasks called autovacuum to prevent this issue. Sentry's write-heavy application and large relational tables made it vulnerable to this problem, leading to a prolonged outage. To recover, Sentry had to shut down the database, truncate a critical table, and make aggressive hardware and configuration tuning changes to improve vacuum times. The experience highlights the importance of understanding Postgres' internals, tuning autovacuum effectively, and having robust safeguards in place to mitigate the risk of XID wraparound.
Jul 23, 2015
1,751 words in the original blog post.
In transitioning to Go, developers accustomed to interpreted languages may find error handling notably different, as Go doesn't employ traditional exceptions but rather uses errors and panics that require specific handling techniques. While straightforward logging approaches are common, they don't address situations when the code encounters a panic. To effectively manage both errors and panics in Go, integrating with Sentry using the raven-go library is recommended, which involves setting up a Raven client and capturing errors using functions like `raven.CaptureErrorAndWait` for immediate logging or `raven.CapturePanic` to wrap functions that may panic. An important feature of Sentry is its ability to capture additional metadata such as user data, HTTP request details, and tags, which can be set using various context functions like `raven.SetUserContext` and `raven.SetHttpContext`, providing a comprehensive view of errors. This integration enhances error monitoring by allowing developers to track specific errors with added context, improving debugging and resolution processes. For more detailed guidance on implementing this setup, exploring the raven-go GitHub project is suggested.
Jul 07, 2015
707 words in the original blog post.
Sentry is pleased to announce that it will offer its error tracking and monitoring service, Sentry, for free to students, teachers, and researchers at universities, marking a formalization of the company's long-standing policy of supporting education. The initiative aims to provide access to Sentry's features, including error tracking and code analysis, to academic communities. By providing free access to Sentry, the company seeks to support students' personal projects and research endeavors, as well as those of instructors and researchers at universities.
Jul 06, 2015
91 words in the original blog post.