Pull to refresh

Comments 22

Мораль этой истории очень сильно напоминает моё негодование насчет скайнета — ну неужели его разработчики не догадались сделать подобный флаг?!
UFO landed and left these words here
Тут есть одна проблема. Когда в таблице около сотни миллионов записей, любое добавление поля в нее занимает часы. Поскольку проливка DDL скриптов требует отключения базы, происходит это ночью и похоже на запуск ракеты в космос. В этом участвует много людей, и требуется соблюдение некоторых формальных процедур. К тому же, если проливка хотя бы одного скрипта длится более 5-ти часов, все развертывание переносят на выходные, а то, как нетрудно догадаться, был понедельник (понедельник после развертывания — день веселый). В общем, решили переразвернуть приложение, а потом в приключения с базой никто ввязываться не захотел (проблема-то как бы решена).
неслабо. «Try to predict THIS.»

Вот Вы говорите, что «Количество поврежденных квот росло со скоростью более тысячи в час» и «Новая версия фронт-офисной системы была развернута в кротчайшие сроки, и это остановило эпидемию.»
И сколько же заняли кратчайшие сроки? От момента обнаружения до лечения, если возможно. Спасибо.
До начала продаж следующего дня, то есть в течение суток.
То есть > 24000 поврежденных объектов… круто )
как делаю такую структуру. флаг добавлять не буду!
Йода мастер комментарий твой направил.
интересно сколько уже была система развернута, до того как баг проявился!?
Однозначный фейл проектировщиков, ибо если в БД есть структура, которая отвечает за реальные бабки за ней нужно следить в десять глаз, и очень желательно создавать эти структуры только в одном месте с обязательным контролем целостности данных (т.е., очень желательно, сравнивать количество созданных квот с перечисленными деньгами на счёт компании от клиентов, и при несхождении бить очень большую тревогу, ибо баг в коде влияет на реальные дензнаки).
Нет. В западных компаниях человеческие ошибки считаются стихийным бедствием. Если все формальные процедуры соблюдены, значит никто не виноват.
Тогда виноват тот, кто придумывал эти процедуры.
В наших компаниях все равно найдут козла отпущения и уволят :-)
А было ли покрыто юнит тестами? Или ошибка умудрилась просочиться и через них?
Однажды было посчитано, что себестоимость разработки полноценных юнит-тестов для системы такого масштаба будет превышать любой потенциальный ущерб от любых ошибок. Поэтому юнит-тесты покрывают только базовые вещи. Упор делается на интеграционные и бета-тесты. В конце концов, если учесть, что за 11 лет это был единственный случай, то ущерб ни такой уж и большой. Чаще система лежит из-за сетевых и аппаратных проблем, из-за ошибок в конфигурационных файлах и прочих вещей не относящихся к коду.
UFO landed and left these words here
А можно подробнее про систему, построенную на таких вот «квотах» и их клонировании?
Уж очень странное, на первый взгляд, решение — похоже на какой-то выкидыш изощренного мозга ООПшника…
захватывающая история
читал с неподдельным интересом, прямо как триллер))
Sign up to leave a comment.

Articles