+− THE DAILY DIFFdev & AI news
SHIP IT

एका अभियंत्याने गिट्लॅबचा प्रॉडक्शन डेटाबेस हटवला. ३०० गिगाबाईट्स.

३१ जानेवारी २०१७, २३:२७ UTC: एक गिट्लॅब अभियंता, एका लांब रात्रीच्या शेवटी बिघडलेल्या प्रतिकृतीशी झगडत असताना, db2 ऐवजी db1 वरील PostgreSQL डेटा डिरेक्टरी काढून टाकतो.

३१ जानेवारी २०१७, २३:२७ UTC: एक गिट्लॅब अभियंता, एका लांब रात्रीच्या शेवटी बिघडलेल्या प्रतिकृतीशी झगडत असताना, db2 ऐवजी db1 वरील PostgreSQL डेटा डिरेक्टरी काढून टाकतो. db1 प्राथमिक आहे. GitLab.com च्या डेटाबेसमधील सुमारे ३०० GB डेटा एका-दोन सेकंदात नाहीसा होतो आणि पाच बॅकअप आणि प्रतिकृती यंत्रणांपैकी एकही काम करत नाही. पोस्टमॉर्टम: स्पॅम स्पाइकपासून चुकीच्या होस्टनेमपर्यंतची टाइमलाइन, pg_basebackup का अडकलेला दिसत होता, pg_dump शांतपणे का अयशस्वी होत होता (9.6 डेटाबेसवर 9.2 बायनरीज, DMARC द्वारे अयशस्वी ई-मेल बाऊन्स झाले), YouTube वर लाइव्ह स्ट्रीम केलेल्या ६-तासांच्या जुन्या स्टेजिंग स्नॅपशॉटमधून १८-तासांची पुनर्प्राप्ती, आणि खरोखर कोणावर दोष येतो. प्रतिसादावरील निकाल: SHIP IT.

लिखित आवृत्ती वाचा (इंग्रजी) ↗

या व्हिडिओमध्ये काय समाविष्ट आहे

  • ३१ जानेवारी २०१७: प्राथमिकच्या डेटा डिरेक्टरीवर rm -Rvf; ~३०० GB काढले, ४.५ GB बाकी
  • ५ पैकी ५ बॅकअप अयशस्वी: रिकामी S3 बकेट (pg_dump आवृत्ती विसंगती), डीबीवर Azure स्नॅपशॉट नाहीत, पुसून टाकलेली प्रतिकृती, वेबहुकशिवाय दररोजची LVM कॉपी
  • १ फेब्रुवारी, १८:०० UTC: GitLab.com ६-तासांच्या जुन्या मॅन्युअल स्नॅपशॉटमधून परत आले; थेट दस्तऐवज, थेट प्रवाह, निश्चित सूचीसह निर्दोष पोस्टमॉर्टम

अनुवादित प्रतिलेख

मूळ इंग्रजी निवेदनातून अनुवादित. उपलब्ध ऑडिओ आणि मथळे YouTube द्वारे नियंत्रित आहेत.

0:00 गिट्लॅबमधील एका अभियंत्याने चुकीच्या डेटाबेस सर्व्हरवर rm -rf चालवले, आणि गिट्लॅब डॉट कॉमचे तीनशे गिगाबाईट्स एका-दोन सेकंदात नाहीसे झाले, होस्टनेम वाचायला लागणाऱ्या वेळेइतकाच हा वेळ. ३१ जानेवारी २०१७, रात्री ११:२७ UTC. गिट्लॅब ट्वीट करतो की त्याने चुकून प्रॉडक्शन डेटा हटवला, त्याच्या घटनेच्या नोंदी इंटरनेटवर उघडतो आणि YouTube वर पुनर्प्राप्ती स्ट्रीम करतो, प्लॅटफॉर्मवरचा दुसरा थेट प्रवाह. दुसऱ्या दिवशी, लेखी: पाच बॅकअप तंत्रांपैकी,

0:25 एकही विश्वसनीयपणे काम करत नाही. ते कसे घडते, ते का शक्य आहे आणि खरोखर कोणावर दोष येतो. हे The Daily Diff, पोस्टमॉर्टम आहे. सायंकाळी ५:२०: एक अभियंता प्रॉडक्शनचा स्नॅपशॉट घेतो स्टेजिंगमध्ये लोड बॅलन्सर तपासण्यासाठी. सायंकाळी ७: स्पॅम डेटाबेसवर हल्ला करतो, तसेच एका ट्रोलने गैरवर्तनाची तक्रार केलेल्या गिट्लॅब कर्मचाऱ्याला एक जॉब हार्ड-डिलीट करत आहे. रात्री ११: प्रतिकृती इतकी मागे पडते की प्राईमरीने आधीच

0:48 त्याला आवश्यक असलेला लॉग टाकून दिला आहे; एकमेव उपाय म्हणजे प्रतिकृती पुसून टाकणे आणि प्राईमरीला पुन्हा कॉपी करणे. pg_basebackup आउटपुटशिवाय हँग होते. ते प्रत्यक्षात, शांतपणे, प्राईमरीची वाट पाहत असते; कोणालाही ते माहित नसते, आणि रनबुकमध्ये ते सांगितले जात नाही. ज्या अभियंत्याला अकरा वाजता साइन ऑफ करायचे होते, तो विचार करतो की रिकामी डेटा डिरेक्टरी समस्या आहे आणि ती काढून टाकतो. db1 वर. प्राईमरीवर. एका-दोन सेकंदात त्याला हे लक्षात येते; सुमारे तीनशे गिगाबाईट्सपैकी,

1:11 ४.५ बाकी राहतात. बॅकअप. एक: S3 ला pg_dump, दररोज. बकेट रिकामी आहे. क्रॉन जॉब डेटाबेस नसलेल्या ॲप सर्व्हरवर चालतो, त्यामुळे पॅकेज ९.६ डेटाबेससाठी PostgreSQL 9.2 बायनरीज निवडते, अयशस्वी होते आणि अपयश ईमेल करते, जे DMARC गहाळ असल्यामुळे बाऊन्स होते. दोन: Azure डिस्क स्नॅपशॉट्स, फाइल सर्व्हरसाठी सक्षम केलेले, डेटाबेससाठी नाहीत.

1:32 तीन: प्रतिकृती, एक तासापूर्वी हेतुपुरस्सर पुसून टाकली. चार: दररोजचा स्नॅपशॉट, २४ तास जुना, स्टेजिंग सिंकने प्रत्येक वेबहुक काढून टाकलेला. पाच: ५:२० वाजताचा मॅन्युअल स्नॅपशॉट, एका असंबद्ध चाचणीसाठी. तो जिंकतो. पुनर्प्राप्ती म्हणजे स्टेजिंग डिस्कला Azure च्या स्वस्त स्टोरेजवरून साठ मेगॅबिट प्रति सेकंद वेगाने प्रॉडक्शनवर परत कॉपी करणे: अठरा तास. अठरा तास. गिट्लॅब डॉट कॉम १ फेब्रुवारी रोजी सायंकाळी सहा वाजता परत आले. UTC, सहा तासांचा डेटा जुना.

1:58 git blame: दोन होस्टनेम एक वर्ण वेगळे, आणि पाच बॅकअप प्रणाली ज्यातून कोणीही कधीही पुनर्प्राप्ती केली नव्हती. अभियंता नाही. सीईओने स्वाक्षरी केलेला पोस्टमॉर्टम त्याला अनामिक ठेवतो, प्रॉडक्शन प्रॉम्प्टला लाल रंग देतो, आणि डेटा टिकाऊपणाला मालक देतो, कारण आत्तापर्यंत त्याला कोणीही नव्हते. ब्लास्ट त्रिज्या: अठरा तास डाउन, सहा तासांचा डेटा गेला, सुमारे पाच हजार प्रकल्प, पाच हजार टिप्पण्या,

2:18 सातशे नवीन वापरकर्ते आणि प्रोग्रेस बार पाहणारे पाच हजार लोक. हॅकर न्यूज थेट डॉक्युमेंटला १,१६२ गुण देते आणि एक ओळ त्यांना परत उद्धृत करते: पाच बॅकअपपैकी, एकही नाही. निकाल, पोस्टमॉर्टम: प्रतिसादावर SHIP IT. ते घटना सार्वजनिकपणे चालवतात, प्रक्रियेला दोष देतात आणि निश्चित सूची इश्यू नंबरसह प्रकाशित करतात. सोमवारी कार्यवाही: बॅकअप पुनर्प्राप्त करा. जर तुम्ही कधीही ते पुनर्प्राप्त केले नसेल, तर तुमच्याकडे ते नाही.

2:42 तुम्हाला अजूनही ज्या घटनेबद्दल बोलण्याची परवानगी नाही, ती मला पाठवा, टिप्पण्यांमध्ये, किंवा daily diff dot dev वर. आणि आजचा हा फरक. मी Axrisi मधून निको आहे. जबाबदारीने विलीन करा.

स्रोत

  1. GitLab, "Postmortem of database outage of January 31" (Feb 10, 2017)about.gitlab.com
  2. GitLab, "GitLab.com database incident" (Feb 1, 2017)about.gitlab.com
  3. @gitlabstatus, "We accidentally deleted production data…"twitter.com
  4. @gitlabstatus, emergency maintenance noticetwitter.com
  5. Hacker News, "GitLab Database Incident – Live Report" (1,162 points, 598 comments)news.ycombinator.com
  6. Hacker News, the postmortem thread (377 points)news.ycombinator.com

संबंधित व्हिडिओ

postmortem · mr · ९ सप्टें, २०२६

एका एआयने प्रोडक्शन डेटाबेस हटवला. नऊ सेकंद.

एक एआय कोडिंग एजंट (Cursor Claude Opus 4.6 चालवत आहे) स्टेजिंगमध्ये क्रेडेंशियल जुळत नसल्याचे पाहतो आणि एका असंबंधित फाइलमध्ये सापडलेल्या अकाउंट-स्कोप्ड टोकनचा वापर करून Railway वर volumeDelete ला कॉल

3:23 ↗
postmortem · mr · २५ सप्टें, २०२६

एक मिलिसेकंदाच्या दोषामुळे यूकेमधील हवाई वाहतूक थांबली. सहा तास.

मंगळवार, 8 सप्टेंबर रोजी 10:00 वाजता, NATS च्या राष्ट्रीय हवाई क्षेत्र प्रणाली (NAS) मधील एक नियमित स्क्वॉक-कोड विनंती उच्च-प्राधान्य संदेशामुळे खंडित झाली, जेव्हा ती एका मूल्याचे अपडेट करण्याच्या मध्

3:06 ↗
postmortem · mr · २२ सप्टें, २०२६

एका रीबूटमुळे टेलस्ट्रा 2006 मध्ये पोहोचले. नव्वद लाख फोन.

मेलबर्नमधील एका अभियंत्याने पहाटे 2:50 वाजता टायमिंग चेसिस पुन्हा चालू केले आणि नाश्त्यापर्यंत ऑस्ट्रेलियाच्या सर्वात मोठ्या मोबाइल नेटवर्कने मान्य केले की तो नोव्हेंबर 2006 आहे. 8 जुलै 2026: टेलस्ट्र

3:15 ↗
postmortem · mr · १९ सप्टें, २०२६

Google Cloud एका रिकाम्या फील्डवर क्रॅश झाले. तीन तास.

काही रिकाम्या फील्ड्स असलेली एक पॉलिसी रो नल् पॉइंटरला हिट करते आणि Google Cloud एकाच वेळी प्रत्येक प्रदेशात क्रॅश होते — नंतर Cloudflare देखील त्यासोबत कोसळते. १२ जून २०२५, १७:४९ UTC: Service Control

2:57 ↗