+− THE DAILY DIFFdev & AI news
SHIP IT

Инженер GitLabдын өндүрүштүк маалымат базасын өчүрдү. 300 гигабайт.

2017-жылдын 31-январында, 23:27 UTC: GitLab инженери узак түндүн аягында бузулган реплика менен күрөшүп, db2 ордуна db1деги PostgreSQL маалымат каталогун өчүрөт.

2017-жылдын 31-январында, 23:27 UTC: GitLab инженери узак түндүн аягында бузулган реплика менен күрөшүп, db2 ордуна db1деги PostgreSQL маалымат каталогун өчүрөт. db1 – негизгиси. GitLab.com сайтынын болжол менен 300 ГБ маалымат базасы бир-эки секундада жок болот жана беш камдык көчүрмө жана репликация механизминин бири да иштебей калат. Постмортем: спамдын көбөйүшүнөн туура эмес хост атына чейинки убакыт сызыгы, pg_basebackup эмне үчүн тыгылып калгандай көрүнгөнү, pg_dump эмне үчүн унчукпай иштебей калгандыгы (9.6 маалымат базасында 9.2 бинардык файлдары, DMARC тарабынан четке кагылган ката электрондук почталары), YouTubeда түз эфирде көрсөтүлгөн 6 саат мурунку даярдык сүрөтүнөн 18 сааттык калыбына келтирүү жана күнөө кимде экени. Жооп боюнча өкүм: SHIP IT.

Жазма басылышын окуу (Англисче) ↗

Бул видео эмнелерди камтыйт

  • 2017-жыл, 31-январь: негизги сервердин маалымат каталогунда rm -Rvf; ~300 ГБ өчүрүлгөн, 4.5 ГБ калган
  • 5 камдык көчүрмөнүн 5и тең иштебей калды: бош S3 челеги (pg_dump версиясынын дал келбөөчүлүгү), DBде Azure сүрөттөрү жок, тазаланган реплика, вебхуктары жок күндөлүк LVM көчүрмөсү
  • 1-февраль, 18:00 UTC: GitLab.com 6 саат мурунку кол менен жасалган сүрөттөн кайра калыбына келтирилди; жандуу документ, түз эфир, оңдоолор тизмеси менен күнөөсүз постмортем

Котормо стенограмма

Англис тилиндеги баштапкы баяндамадан которулган. Жеткиликтүү аудио жана коштомо жазуулар YouTube тарабынан көзөмөлдөнөт.

0:00 GitLab инженери туура эмес маалымат базасынын серверинде rm -rf иштетет, жана GitLab dot com сайтынын үч жүз гигабайты бир-эки секундада жок болот, бул хост атын окууга кеткен убакыттай эле. 2017-жыл, 31-январь, 23:27 UTC. GitLab өндүрүштүк маалыматты кокусунан өчүрүп салганын твиттерде жарыялайт, инцидент жазууларын интернетке ачат жана калыбына келтирүүнү YouTubeда түз эфирде көрсөтөт, бул платформадагы экинчи жандуу эфир. Кийинки күнү, жазуу жүзүндө: беш камдык көчүрүү ыкмасынан,

0:25 бири да ишенимдүү иштебейт. Кантип болот, эмне үчүн мүмкүн жана күнөө чындыгында кимде? Бул The Daily Diff, постмортем. 17:20: бир инженер өндүрүштүк сүрөттү алат даярдыктагы жүктөмдү теңдөөчүнү текшерүү үчүн. 19:00: спам маалымат базасына сокку урат, ошондой эле GitLab кызматкерин катуу өчүргөн жумуш, тролл тарабынан кыянаттык үчүн кабарланган. 23:00: реплика ушунчалык артта калгандыктан, негизгиси буга чейин керектүү журналды жок кылган;

0:48 жалгыз чечим - репликаны тазалап, негизгисин кайра көчүрүү. pg_basebackup эч кандай чыгаруусуз тыгылып калат. Ал чындыгында унчукпай негизгисин күтүп жатат; муну эч ким билбейт, жана runbookта айтылган эмес. Саат он бирде иштен кетүүнү көздөгөн инженер, бош маалымат каталогу маселе деп чечет жана аны өчүрөт. db1де. Негизгисинде. Ал бир-эки секундадан кийин байкайт; болжол менен үч жүз гигабайттан,

1:11 4.5 калган. Камдык көчүрмөлөр. Биринчиси: S3кө pg_dump, күн сайын. Челек бош. Крон жумушу маалымат базасы жок колдонмо серверинде иштейт, ошондуктан пакет 9.6 маалымат базасы үчүн PostgreSQL 9.2 бинардык файлдарын тандайт, иштебей калат жана электрондук почталарды жөнөтөт ката тууралуу, DMARC жок болгондуктан кайтарылып берилет. Экинчиси: Azure диск сүрөттөрү, файл серверлери үчүн иштетилген, маалымат базалары үчүн эмес.

1:32 Үчүнчүсү: реплика, бир саат мурун атайылап тазаланган. Төртүнчүсү: күндөлүк сүрөт, 24 саат мурунку, ар бир вебхук даярдыкты синхрондоштуруу менен өчүрүлгөн. Бешинчиси: 17:20дагы кол менен жасалган сүрөт, байланышсыз тест үчүн. Ошол жеңип чыгат. Калыбына келтирүү - даярдык дискти Azureдин арзан сактагычы аркылуу кайра өндүрүшкө көчүрүү секундасына алтымыш мегабит ылдамдыгы менен: он сегиз саат. GitLab dot com 1-февралда кечки саат алтыда кайра иштей баштайт UTC, алты сааттык маалымат эскирип.

1:58 git blame: бир символ айырмасы бар эки хост аты жана эч ким эч качан калыбына келтирбеген беш камдык көчүрүү системасы. Инженер эмес. Башкы директор кол койгон постмортем, аны анонимдүү бойдон калтырат, өндүрүштүк суроо-талапты кызыл түскө боёп, маалыматтын туруктуулугуна ээсин дайындайт, анткени буга чейин эч кимдики болгон эмес. Жабыркаган аймак: он сегиз саат иштебей, алты сааттык маалымат жок болгон, болжол менен беш миң долбоор, беш миң комментарий,

2:18 жети жүз жаңы колдонуучу жана прогресс тилкесин көргөн беш миң адам. Hacker News жандуу документке 1,162 упай берет жана бир сапты кайра цитаталайт: беш камдык көчүрмөдөн, бири да жок. Өкүм, постмортем: 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 · ky · 2026-ж., 9-сен.

Жасалма интеллект өндүрүштүк маалымат базасын өчүрдү. Тогуз секунд.

Жасалма интеллект коддоо агенти (Cursor Claude Opus 4.6 иштетип) стейджингде ишеним грамоталарынын дал келбей калышына туш болуп, аны "оңдоо" үчүн байланышы жок файлдан тапкан аккаунтка ылайыкталган т

3:23 ↗
postmortem · ky · 2026-ж., 25-сен.

Бир миллисекунддук мүчүлүштүк Улуу Британиянын аба кыймылын токтотту. Алты саатка.

Шейшемби күнү, 8-сентябрда, саат 10:00дө NATSтын Улуттук Аба Мейкиндиги Системасынын (NAS) ичиндеги бир кадимки squawk-кодун суроосу, ал баалуулукту жарым-жартылай жаңыртып жаткан кезде, жогорку артык

3:06 ↗
postmortem · ky · 2026-ж., 22-сен.

Кайра жүктөлгөн Telstraны 2006-жылга кайтарды. Тогуз миллион телефон.

Мельбурндагы инженер эртең мененки саат 2:50дө убакыт шассисин кайра иштетет, ал эми эртең менен Австралиянын эң чоң мобилдик тармагы 2006-жылдын ноябры экенине макул болот. 2026-жылдын 8-июлу: Telstr

3:15 ↗