Comments 22
Мораль этой истории очень сильно напоминает моё негодование насчет скайнета — ну неужели его разработчики не догадались сделать подобный флаг?!
Тут есть одна проблема. Когда в таблице около сотни миллионов записей, любое добавление поля в нее занимает часы. Поскольку проливка DDL скриптов требует отключения базы, происходит это ночью и похоже на запуск ракеты в космос. В этом участвует много людей, и требуется соблюдение некоторых формальных процедур. К тому же, если проливка хотя бы одного скрипта длится более 5-ти часов, все развертывание переносят на выходные, а то, как нетрудно догадаться, был понедельник (понедельник после развертывания — день веселый). В общем, решили переразвернуть приложение, а потом в приключения с базой никто ввязываться не захотел (проблема-то как бы решена).
Очень увлекательная история!
как не банально
как ни банально
метафора с печатью очень удачно подходит
неслабо. «Try to predict THIS.»
Вот Вы говорите, что «Количество поврежденных квот росло со скоростью более тысячи в час» и «Новая версия фронт-офисной системы была развернута в кротчайшие сроки, и это остановило эпидемию.»
И сколько же заняли кратчайшие сроки? От момента обнаружения до лечения, если возможно. Спасибо.
Вот Вы говорите, что «Количество поврежденных квот росло со скоростью более тысячи в час» и «Новая версия фронт-офисной системы была развернута в кротчайшие сроки, и это остановило эпидемию.»
И сколько же заняли кратчайшие сроки? От момента обнаружения до лечения, если возможно. Спасибо.
как делаю такую структуру. флаг добавлять не буду!
интересно сколько уже была система развернута, до того как баг проявился!?
Однозначный фейл проектировщиков, ибо если в БД есть структура, которая отвечает за реальные бабки за ней нужно следить в десять глаз, и очень желательно создавать эти структуры только в одном месте с обязательным контролем целостности данных (т.е., очень желательно, сравнивать количество созданных квот с перечисленными деньгами на счёт компании от клиентов, и при несхождении бить очень большую тревогу, ибо баг в коде влияет на реальные дензнаки).
Кго-нить уволили?
А было ли покрыто юнит тестами? Или ошибка умудрилась просочиться и через них?
Однажды было посчитано, что себестоимость разработки полноценных юнит-тестов для системы такого масштаба будет превышать любой потенциальный ущерб от любых ошибок. Поэтому юнит-тесты покрывают только базовые вещи. Упор делается на интеграционные и бета-тесты. В конце концов, если учесть, что за 11 лет это был единственный случай, то ущерб ни такой уж и большой. Чаще система лежит из-за сетевых и аппаратных проблем, из-за ошибок в конфигурационных файлах и прочих вещей не относящихся к коду.
А можно подробнее про систему, построенную на таких вот «квотах» и их клонировании?
Уж очень странное, на первый взгляд, решение — похоже на какой-то выкидыш изощренного мозга ООПшника…
Уж очень странное, на первый взгляд, решение — похоже на какой-то выкидыш изощренного мозга ООПшника…
захватывающая история
читал с неподдельным интересом, прямо как триллер))
читал с неподдельным интересом, прямо как триллер))
Sign up to leave a comment.
Эпидемия в данных