# ଜଣେ ଇଞ୍ଜିନିୟର୍ GitLab ର ପ୍ରଡକ୍ସନ୍ ଡାଟାବେସ୍ ଡିଲିଟ୍ କରିଦେଲେ। 300 ଗିଗାବାଇଟ୍।

Published: 2026-09-10

ଜାନୁଆରୀ 31, 2017, 23:27 UTC: ଜଣେ GitLab ଇଞ୍ଜିନିୟର୍, ଏକ ଲମ୍ବା ରାତିର ଶେଷରେ ଏକ ଭଙ୍ଗା ରେପ୍ଲିକା ସହିତ ଲଢ଼ୁଥିବା ବେଳେ, db2 ପରିବର୍ତ୍ତେ db1 ରେ PostgreSQL ଡାଟା ଡାଇରେକ୍ଟୋରୀ ହଟାଇ ଦେଲେ। db1 ହେଉଛି ପ୍ରାଥମିକ। GitLab.com ର ପ୍ରାୟ 300 GB ଡାଟାବେସ୍ ଏକ କିମ୍ବା ଦୁଇ ସେକେଣ୍ଡ ମଧ୍ୟରେ ନଷ୍ଟ ହୋଇଗଲା, ଏବଂ ପାଞ୍ଚଟି ବ୍ୟାକଅପ୍ ଓ ରେପ୍ଲିକେସନ୍ ମେକାନିଜିମ୍ ମଧ୍ୟରୁ କୌଣସିଟି କାର୍ଯ୍ୟ କରୁନଥିଲା। ପୋଷ୍ଟମର୍ଟମ୍: ସ୍ପାମ୍ ସ୍ପାଇକ୍ ଠାରୁ ଭୁଲ ହୋଷ୍ଟନେମ୍ ପର୍ଯ୍ୟନ୍ତ ସମୟସୀମା, pg\_basebackup କାହିଁକି ଅଟକି ଯାଇଥିବା ପରି ଦେଖାଯାଉଥିଲା, pg\_dump କାହିଁକି ନୀରବରେ ବିଫଳ ହେଉଥିଲା (9.6 ଡାଟାବେସ୍ ଉପରେ 9.2 ବାଇନାରୀ, DMARC ଦ୍ୱାରା ବିଫଳତା ଇ-ମେଲ୍ ବାଉନ୍ସ ହୋଇଥିଲା), YouTube ରେ ଲାଇଭ୍ ଷ୍ଟ୍ରିମ୍ ହୋଇଥିବା 6 ଘଣ୍ଟା ପୁରୁଣା ଷ୍ଟେଜିଂ ସ୍ନାପସଟ୍ ରୁ 18 ଘଣ୍ଟାର ରିଷ୍ଟୋର୍, ଏବଂ ପ୍ରକୃତରେ ଦୋଷ କାହାକୁ ଦିଆଯିବ। ପ୍ରତିକ୍ରିୟା ଉପରେ ରାୟ: SHIP IT।

Canonical: https://thedailydiff.dev/or/video/2026-09-10-gitlab-rm-rf/

## ଏହି ଭିଡିଓରେ କ'ଣ ଅଛି

- ଜାନୁଆରୀ 31, 2017: ପ୍ରାଥମିକର ଡାଟା ଡାଇରେକ୍ଟୋରୀରେ rm -Rvf; ~300 GB ଅପସାରିତ, 4.5 GB ବାକି ଅଛି
- 5 ରୁ 5ଟି ବ୍ୟାକଅପ୍ ବିଫଳ: ଖାଲି S3 ବକେଟ୍ (pg\_dump ଭର୍ସନ୍ ଅସଙ୍ଗତି), DB ରେ Azure ସ୍ନାପସଟ୍ ନାହିଁ, ରେପ୍ଲିକା ପୋଛି ଦିଆଯାଇଛି, ୱେବ୍‌ହୁକ୍ ବିନା ଦୈନିକ LVM କପି
- ଫେବୃଆରୀ 1, 18:00 UTC: 6 ଘଣ୍ଟା ପୁରୁଣା ମାନୁଆଲ୍ ସ୍ନାପସଟ୍ ରୁ GitLab.com ଫେରିଆସିଲା; ଲାଇଭ୍ ଡକ୍, ଲାଇଭ୍ ଷ୍ଟ୍ରିମ୍, ଫିକ୍ସ ତାଲିକା ସହିତ ବ୍ଲେମ୍‌ଲେସ୍ ପୋଷ୍ଟମର୍ଟମ୍

## ଅନୁବାଦିତ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ

ମୂଳ ଇଂରାଜୀ ବର୍ଣ୍ଣନାରୁ ଅନୁବାଦିତ। ଉପଲବ୍ଧ ଅଡିଓ ଏବଂ କ୍ୟାପ୍ସନ୍ଗୁଡ଼ିକ YouTube ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ।

0:00 GitLab ରେ ଜଣେ ଇଞ୍ଜିନିୟର ଭୁଲ ଡାଟାବେସ୍ ସର୍ଭରରେ rm -rf ଚଲାନ୍ତି, ଏବଂ GitLab dot com ର ତିନି ଶହ ଗିଗାବାଇଟ୍ ଏକ କିମ୍ବା ଦୁଇ ସେକେଣ୍ଡରେ ଅଦୃଶ୍ୟ ହୋଇଯାଏ, ଏକ ହୋଷ୍ଟନେମ୍ ପଢ଼ିବାକୁ ଯେତିକି ସମୟ ଲାଗେ। ଜାନୁଆରୀ 31, 2017, ରାତି 11:27। UTC। GitLab ଟ୍ୱିଟ୍ କରେ ଯେ ଏହା ଆକସ୍ମିକ ଭାବରେ ପ୍ରଡକ୍ସନ୍ ଡାଟା ଡିଲିଟ୍ କରିଦେଇଛି, ଏହାର ଘଟଣା ନୋଟ୍ ଇଣ୍ଟରନେଟ୍ ପାଇଁ ଖୋଲିଦିଏ, ଏବଂ YouTube ରେ ରିକଭରୀ ଷ୍ଟ୍ରିମ୍ କରେ, ପ୍ଲାଟଫର୍ମରେ ଦ୍ୱିତୀୟ ସର୍ବୋଚ୍ଚ ଲାଇଭ୍ ଷ୍ଟ୍ରିମ୍। ପରଦିନ, ଲିଖିତ ଭାବରେ: ପାଞ୍ଚଟି ବ୍ୟାକଅପ୍ କୌଶଳ ମଧ୍ୟରୁ,

0:25 କୌଣସିଟି ବି ନିର୍ଭରଯୋଗ୍ୟ ଭାବରେ କାମ କରୁନାହିଁ। ଏହା କିପରି ଘଟେ, ଏହା କାହିଁକି ସମ୍ଭବ, ଏବଂ ପ୍ରକୃତରେ ଦୋଷ କାହାକୁ ଦିଆଯାଏ। ଏହା ହେଉଛି The Daily Diff, ପୋଷ୍ଟମର୍ଟମ୍। ସନ୍ଧ୍ୟା 5:20: ଜଣେ ଇଞ୍ଜିନିୟର୍ ପ୍ରଡକ୍ସନର ସ୍ନାପସଟ୍ ନିଅନ୍ତି ଷ୍ଟେଜିଂରେ ଏକ ଲୋଡ୍ ବାଲାନ୍ସର୍ ପରୀକ୍ଷା କରିବା ପାଇଁ। ସନ୍ଧ୍ୟା 7ଟା: ସ୍ପାମ୍ ଡାଟାବେସ୍ ଉପରେ ହମଲା କରେ, ଏବଂ ଏକ ଚାକିରି GitLab କର୍ମଚାରୀଙ୍କୁ ହାର୍ଡ-ଡିଲିଟ୍ କରେ ଜଣେ ଟ୍ରୋଲ୍ ଦୁର୍ବ୍ୟବହାର ପାଇଁ ରିପୋର୍ଟ କରିଥିଲା। ରାତି 11ଟା: ରେପ୍ଲିକା ଏତେ ପଛରେ ପଡ଼ିଯାଏ ଯେ ପ୍ରାଥମିକ ପୂର୍ବରୁ ଆବଶ୍ୟକ ଲଗ୍ ଡିସ୍କାର୍ଡ କରିସାରିଛି;

0:48 ଏକମାତ୍ର ଉପାୟ ହେଉଛି ରେପ୍ଲିକାକୁ ପୋଛି ଦେଇ ପ୍ରାଥମିକକୁ ପୁନର୍ବାର କପି କରିବା। pg\_basebackup କୌଣସି ଆଉଟପୁଟ୍ ବିନା ଅଟକିଯାଏ। ଏହା ପ୍ରକୃତରେ, ନୀରବରେ, ପ୍ରାଥମିକ ପାଇଁ ଅପେକ୍ଷା କରୁଛି; କେହି ଜାଣନ୍ତି ନାହିଁ, ଏବଂ ରନ୍‌ବୁକ୍ କୁହେ ନାହିଁ। ଇଞ୍ଜିନିୟର୍, ଯିଏ ଏଗାରଟାରେ ସାଇନ୍ ଅଫ୍ କରିବାକୁ ଚାହୁଁଥିଲେ, ସ୍ଥିର କରନ୍ତି ଯେ ଖାଲି ଡାଟା ଡାଇରେକ୍ଟୋରୀ ସମସ୍ୟା ଅଟେ ଏବଂ ଏହାକୁ ଅପସାରଣ କରନ୍ତି। db1 ରେ। ପ୍ରାଥମିକ। ସେ ଏକ କିମ୍ବା ଦୁଇ ସେକେଣ୍ଡ ପରେ ଲକ୍ଷ୍ୟ କରନ୍ତି; ପ୍ରାୟ ତିନି ଶହ ଗିଗାବାଇଟ୍ ମଧ୍ୟରୁ,

1:11 4.5 ବାକି ଅଛି। ବ୍ୟାକଅପ୍। ଏକ: pg\_dump S3 କୁ, ଦୈନିକ। ବକେଟ୍ ଖାଲି ଅଛି। କ୍ରନ୍ ଜବ୍ ଏକ ଆପ୍ ସର୍ଭରରେ ଚାଲେ ଯେଉଁଥିରେ ଡାଟାବେସ୍ ନାହିଁ, ତେଣୁ ପ୍ୟାକେଜ୍ ବାଛେ 9.6 ଡାଟାବେସ୍ ପାଇଁ PostgreSQL 9.2 ବାଇନାରୀ, ବିଫଳ ହୁଏ, ଏବଂ ଇମେଲ୍ କରେ ବିଫଳତା, ଯାହା DMARC ହଜିଯିବା ଯୋଗୁଁ ବାଉନ୍ସ ହୁଏ। ଦୁଇ: Azure ଡିସ୍କ ସ୍ନାପସଟ୍, ଫାଇଲ୍ ସର୍ଭର ପାଇଁ ସକ୍ଷମ କରାଯାଇଛି, ଡାଟାବେସ୍ ପାଇଁ ନୁହେଁ।

1:32 ତିନି: ରେପ୍ଲିକା, ଏକ ଘଣ୍ଟା ପୂର୍ବରୁ ଉଦ୍ଦେଶ୍ୟମୂଳକ ଭାବରେ ପୋଛି ଦିଆଯାଇଛି। ଚାରି: ଦୈନିକ ସ୍ନାପସଟ୍, 24 ଘଣ୍ଟା ପୁରୁଣା, ପ୍ରତ୍ୟେକ ୱେବ୍‌ହୁକ୍ ଦ୍ୱାରା ଛଡ଼ାଇ ନିଆଯାଇଛି ଷ୍ଟେଜିଂ ସିଙ୍କ୍। ପାଞ୍ଚ: 5:20 ରୁ ମାନୁଆଲ୍ ସ୍ନାପସଟ୍, ଏକ ଅସମ୍ବନ୍ଧିତ ପରୀକ୍ଷା ପାଇଁ। ସେହିଟି ଜିତେ। ରିଷ୍ଟୋର୍ କରିବାର ଅର୍ଥ ହେଉଛି ଷ୍ଟେଜିଂ ଡିସ୍କକୁ Azure ର ଶସ୍ତା ଉପରେ ପ୍ରଡକ୍ସନ୍ କୁ କପି କରିବା ଷ୍ଟୋରେଜ୍ ପ୍ରତି ସେକେଣ୍ଡରେ ଷାଠିଏ ମେଗାବିଟ୍: ଅଠର ଘଣ୍ଟା। GitLab dot com ଫେବୃଆରୀ 1 ରେ ସନ୍ଧ୍ୟା ଛଅଟାରେ ଫେରିଆସିଛି। UTC, ଛଅ ଘଣ୍ଟା ପୁରୁଣା ଡାଟା।

1:58 git blame: ଦୁଇଟି ହୋଷ୍ଟନେମ୍ ଗୋଟିଏ ଅକ୍ଷର ବ୍ୟବଧାନରେ, ଏବଂ ପାଞ୍ଚଟି ବ୍ୟାକଅପ୍ ସିଷ୍ଟମ୍ କାହାଠାରୁ କେବେ ରିଷ୍ଟୋର୍ ହୋଇନାହିଁ। ଇଞ୍ଜିନିୟର୍ ନୁହେଁ। ପୋଷ୍ଟମର୍ଟମ୍, CEO ଦ୍ୱାରା ସ୍ୱାକ୍ଷରିତ, ତାଙ୍କୁ ଅଜ୍ଞାତ ରଖେ, ପ୍ରଡକ୍ସନ୍ ପ୍ରମ୍ପ୍ଟକୁ ଲାଲ୍ ରଙ୍ଗ ଦିଏ, ଏବଂ ଡାଟା ଦୃଢତାକୁ ଏକ ମାଲିକ ଦିଏ, କାରଣ ଏପର୍ଯ୍ୟନ୍ତ ଏହାର କୌଣସିଟି ନଥିଲା। ବ୍ଲାଷ୍ଟ ରେଡିୟସ୍: ଅଠର ଘଣ୍ଟା ଡାଉନ୍, ଛଅ ଘଣ୍ଟାର ଡାଟା ନଷ୍ଟ, ପ୍ରାୟ ପାଞ୍ଚ ହଜାର ପ୍ରୋଜେକ୍ଟ, ପାଞ୍ଚ ହଜାର କମେଣ୍ଟ,

2:18 ସାତ ଶହ ନୂତନ ଉପଭୋକ୍ତା, ଏବଂ ପାଞ୍ଚ ହଜାର ଲୋକ ଏକ ପ୍ରଗତି ବାର୍ ଦେଖୁଛନ୍ତି। Hacker News ଲାଇଭ୍ ଡକ୍ କୁ 1,162 ପଏଣ୍ଟ ଦିଏ ଏବଂ ଗୋଟିଏ ଉଦ୍ଧୃତ କରେ ସେମାନଙ୍କୁ ଧାଡି: ପାଞ୍ଚଟି ବ୍ୟାକଅପ୍ ମଧ୍ୟରୁ, କୌଣସିଟି ନାହିଁ। ରାୟ, ପୋଷ୍ଟମର୍ଟମ୍: SHIP IT, ପ୍ରତିକ୍ରିୟା ଉପରେ। ସେମାନେ ଜନସାଧାରଣରେ ଘଟଣାଟି ଚଲାନ୍ତି, ପ୍ରକ୍ରିୟାକୁ ଦୋଷ ଦିଅନ୍ତି, ଏବଂ ଫିକ୍ସ ତାଲିକା ପ୍ରକାଶ କରନ୍ତି ଇସ୍ୟୁ ନମ୍ବର ସହିତ। ସୋମବାର କାର୍ଯ୍ୟ: ଏକ ବ୍ୟାକଅପ୍ ରିଷ୍ଟୋର୍ କରନ୍ତୁ। ଯଦି ଆପଣ ଏହାକୁ କେବେ ରିଷ୍ଟୋର୍ କରିନାହାନ୍ତି, ତେବେ ଆପଣଙ୍କ ପାଖରେ ଗୋଟିଏ ନାହିଁ।

2:42 ମୋତେ ଘଟଣାଟି ପଠାନ୍ତୁ ଯାହା ବିଷୟରେ ଆପଣ ଏପର୍ଯ୍ୟନ୍ତ କହିବାକୁ ଅନୁମତିପ୍ରାପ୍ତ ନୁହଁନ୍ତି, କମେଣ୍ଟରେ, କିମ୍ବା daily diff dot dev ରେ। ଏବଂ ତାହା ଆଜି ପାଇଁ diff। ମୁଁ Axrisi ରୁ Niko। ଦାୟିତ୍ୱର ସହିତ ମର୍ଜ୍ କରନ୍ତୁ।

## ଉତ୍ସଗୁଡ଼ିକ

- [GitLab, "Postmortem of database outage of January 31" (Feb 10, 2017)](https://about.gitlab.com/blog/postmortem-of-database-outage-of-january-31/) — about.gitlab.com
- [GitLab, "GitLab.com database incident" (Feb 1, 2017)](https://about.gitlab.com/blog/gitlab-dot-com-database-incident/) — about.gitlab.com
- [@gitlabstatus, "We accidentally deleted production data…"](https://twitter.com/gitlabstatus/status/826591961444384768) — twitter.com
- [@gitlabstatus, emergency maintenance notice](https://twitter.com/gitlabstatus/status/826572933304827904) — twitter.com
- [Hacker News, "GitLab Database Incident – Live Report" (1,162 points, 598 comments)](https://news.ycombinator.com/item?id=13537052) — news.ycombinator.com
- [Hacker News, the postmortem thread (377 points)](https://news.ycombinator.com/item?id=13619714) — news.ycombinator.com
