Postmortem of database outage of January 31
Feb 10, 2017GitLab

Summary
This post details a major database outage caused by accidental data removal during an attempt to restore replication after WAL segment loss. It highlights critical failures in backup procedures (pg_dump version mismatch, DMARC rejection of error emails), reliance on LVM snapshots for DR, and the lack of documented procedures for pg_basebackup. The post also describes the immediate recovery steps and outlines future improvements to operations and recovery procedures, including implementing WAL archiving, improving backup verification, and enhancing runbooks.
More from the Database Migration Debugging and Cross-Database Compatibility trail
- Seamlessly migrate from Jira to GitLab with Jira2Lab at scale
- We are upgrading the operating system on our Postgres database clusters
- Decomposing the GitLab backend database, Part 1: Designing and planning
- GitLab database decomposition: Final migration and results
- Decomposing the GitLab backend database, Part 3: Challenges and surprises