systemsfailed.devfailure archive
← All incidents
Incident report
GitLab/2017-01-31/~18h + permanent loss

rm -rf on the wrong database

Jan 2017Dec 2017

~300GB of production database gone; six hours of issues, merge requests and users lost for good.

Lesson

Backups you've never restored are not backups. The deletion is the famous part; the broken recovery path is the real lesson.

An engineer fighting spam-induced replication lag ran a directory removal against what turned out to be the primary, not the replica.

The data vanished in seconds. Then the gut-punch: five of five backup and replication methods were broken or untested. A six-hour-old LVM snapshot, taken by luck, was the only thing that saved most of the data.

Disaster recovery: define RPO/RTO and, above all, prove your restores actually work.

Share this failurePost on XDownload card