TGViewer
Неопознанный кактус Неопознанный кактус @kvktyc · 33 subscribers
Post #74 96
Невыдуманная история к предыдущему посту

Работал я как-то с крупным ретейловым холдингом, размер базы данных CRM которой стремился к терабайту. Снятие такого дампа занимало больше пяти часов и выполнялось на readonly реплике, потому что требовало блокировки для гарантии целостности данных (потом еще реплика пару часов догоняла прод по бинлогам прежде чем перейти в рабочее состояние). Развертывание такого дампа занимало почти сутки! Потому что race condition и запись должна быть строго последовательной, иначе собьются автоинкременты и связи и прочие нюансы БД. И у такой БД естественно должен был быть горячий дублёр, холдинг не мог себе позволить не иметь резервной копии (справедливо). Было установлено требование - время переключения на резерв не должно превышать 10 мин (бизнес теряет деньги!), а затем, внимание, после восстановительных работ на проде трафик нужно возвращать на прод, а резерв снова делать резервом (лучше железо только на проде, на резерве бизнес теряет деньги). Админы почесали голову и сделали репликацию master-master, то есть запись возможна с обеих сторон (иначе задачу действительно было не решить), но нужны грамотные действия, чтобы запись никогда не шла одновременно, иначе коллизия и смерть, цена ошибки фатальна.

И вот в какой-то день ружье выстрелило. Дежурный инженер решил накатить обновление безопасности на БД резерва (благое намерение) и по имеющемуся регламенту он не должен был его согласовывать (минорное же!). В три часа ночи (единственное допустимое по регламенту время) когда на связи не было вообще никого, он начал технические работы. Что-то пошло не так и минорное обновление сломало БД. Последовала попытка откатить обновление, но теперь повредились данные.. Ночь, резерв накрылся, дежурный инженер решает запустить процедуру восстановления из дампа и так как данные повреждены, отправляет команду DROP DATABASE... и она уходит и на резерв и на прод... потому что master-master и он не принял нужных действий и рядом никого не было. Эта ситуция не должна была произойти, но она произошла.

Утром у меня разрывался телефон от звонков и сообщений, в которых стоял мат, крики и слёзы в перемешку с угрозами, потери бизнеса каждую минуты были чудовищными. Когда стало понятно что именно произошло, у нас осталась только одна опция - разворачиваться из дампа с нуля и ждать. Админы уже запустили этот процесс и сообщили, что ориентировочно к полудню мы запустимся. Бизнес предупредил, что нас всех ждут многомилионные штрафы и все начали ждать. В 12 ничего не произошло, в 15 тоже и в 18 когда уже надо было собираться домой, дамп всё еще накатывался. Естественно никакого "домой" не получилось и под общий вой и проклятья мы все ждали когда же дамп завершится. В 20 часов приходит сообщение от админов: "ошибка, дамп не развернулся"...

Сказать, что наступил шок, отчаяние и паника это особо ничего не сказать. У большинства участников начался буквально паралич воли. Админы с белыми лицами молчали (они сделали всё по инструкции, а оно не сработало), все понимают, что новые попытки - это еще почти сутки и никто не понимает что должно помочь. Отладка на таких объемах практически невозможна. Менеджеры подрядчика кажется смирились, что это их конец, а владельцы, что их ждет либо бетон, либо банкротство. В общем наступил всеобщий мрачняк. Ошибку то БД показала, но повторные попытки это каждый раз сутки, ну то есть всё.
  • 😱 4
More from @kvktyc
  1. Sep 13, 2026Не тот саундтрек сделали к игре, не тот. И аккорды нам расставили не те, но эту песню возм…
  2. Sep 12, 202626 дюймовый монитор, на котором в 1995 Джон Кармак работал над Quake: Intergraph InterView…
  3. Sep 12, 2026С детства за космос Я вырос на этой фантастике, зачитал до дыр все книги Ефремова, Стругац…
  4. Sep 12, 2026Русский космизм У нас есть очень здравое и ценное наследие в культуре восприятия космоса и…
  5. Sep 11, 2026Платформы Немного странно, что купленная в Steam игра, она же на PlayStation и она же на X…
  6. Sep 9, 2026Программист ИИ Claude бежал из бизнеса из-за «угрозы человечеству» Специалист по обучению…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →