Тред: разработчики вспоминают нелепые ошибки в своей работе

Из-за сооснователя Instagram Кевина Систрома сайт соцсети не работал в день запуска час, а эксперт в области безопасности Алекс Стэймос устроил расследование секретной службы в крупном американском банке, переводя отрицательные суммы денег.

@ElleArmageddon Day of instagram launch brought the site down for an hour because we forgot a favicon - system tried to send us an email for every 404 😬
«В день запуска Instagram сайт упал на час, потому что мы забыли добавить favicon — система пыталась прислать нам электронное письмо за каждую ошибку 404»
78

Я дропнул продакшн базу...

Мы запустили новый проект, который состряпали очень быстро. Анонс запуска был давно, и в течение первых дней в проекте зарегистрировалось около 30 тыс человек, которые сразу закинули прилично денег. 
По плану была смена команды, новые ребята оказались личностями неприятными. Я передавал дела новому тимлиду. Он захотел дома развернуть стенд и разобраться, для чего попросил у меня дамп базы (это было давно, практики миграций тогда не было). В этот же момент у меня начался конфликт с новым менеджером. Я попросил его не злить меня, потому что мне надо сделать важную операцию. Тот меня оставил на какое-то время. Я полез в phpmyadmin от рут-аккаунта (чтобы получить доступ ко всем таблицам, тригерам и аккаунтам пользователей БД). И в этот момент менеджер спускает на меня собак. Я начинаю в ответ орать и промазываю мышкой, кликая не на дамп, а на "удалить бд" и уже на полном автомате кликаю подтверждение "ок".
Осознание пришло через секунд 15. Полез проверил - базы нет. Но я держу себя в руках. Я-то знаю, что есть дамп. Админу когда-то ставил задачу, потом принимал её. Скачиваю дамп, распаковываю, а там файл только со структурой... Данных нет... Почему я не заметил при приемке? Очень просто - принимал я задачу, когда база была пустой...

Но все же удалось выйти почти сухим из воды. В самом начале, когда я продумывал архитектуру всей платформы, часть данных пользователей я задублировал в другой БД на другом сервере. Поэтому id, никнеймы и почта у меня были на руках. Я сгенерировал новые пароли и разослал их пользователям.
Основной проблемой стало то, что часть email'ов были фиктивными, а мы их не верифицировали при регистрации. Поэтому потом в течение трех дней восстанавливали доступы пользователям по описанию их покупок.

17
Ответить

конфликты с коллегами или руководством никак не оправдывают твою ошибку.

Сочувствую, что ты промазал.

6
Ответить