Bugs

Пару тижнів тому у нашій головній Базі на роботі одвалився тригер на одній із таблиць. Навіть не один а п’ять, але то не так важливо. Одвалився собі тихенько і ніхто цього не помітив. Да, треба зауважити що відвалу тригера посприяла відсутність транзакцій у MyISAM, і тут ще можна написати багато слів про використання MySQL для критичних даних взагалі і особливо без підтримки транзакцій, цілісності по зовнішнім ключам і теде і тепе, але то зовсім інша історія. Як казав один відомий дядько, маємо те що маємо.

В результаті відвалу тригера перестало мінятись певне поле у таблиці. Начебто нічого страшного, тільки все це привело вчора до конфлікту IP на одному із серверів доступу, завантаженню його ядер на 100% і вранішнього дзвінка начальства. Телефон мене розбудив, але я його успішно проігнорував. Тим паче що я не адмін і стан якихось там серверів - не моя парафія. Тим паче що систему повернули в попередній стані і єдиним наслідком цієї події стала неможливість перевести кілька десятків абонентів на "білі" IP. Нічого критичного начебто. Та не зважаючи на це я вчора весь день провисів на телефоні у конференції з начальством, адмінами і другим програмістом намагаючись пояснити начальству що це баг. І його треба виправити. Начальство не доганяло. В кінці кінців відклали рішення цього питання до понеділка.
Сьогодні історія повторилась: замість того щоб виправити баг пропонували зробити мегаінтерфейс з суперможливостями. Щоб повністю усі (навіть тимчасові) мережі тримати в базі. Навіть ті які можна обчислити із номеру VLAN'у. Навіть ті які один раз прописані і ніколи не міняються. "Вот завтра мнє захочєтся сделать так і так - а я нє смагу етого сдєлать!". А оскільки слово "гнучкість" і "універсальність" я зараз чую по сто разів на день я психанув і запропонував взагалі викинуть будь-який високорівневий інтерфейс користувача і керувати серверами вручну. Мегауніверсальне і супергнучке рішення! Слава богу, моє слово ще чого варте у цьому відділі. А то просто плюнув би і пішов звідти - нехай самі длубаються у тих тонах лайна, милиць і підпорок на PHP що гордо іменується "База"! На кілька сотень тисяч рядків коду визначено не більше десятка функцій! Про code reuse взагалі мова не йде. ACL реалізовано без усякої системи розвісистою низкою if-ів (навіть не switch!) а збоку ще прикручено smarty, з десяток тригерів і кілька stored procedures. Звісно ніяких code conventions! Coding style, можна сказати, відсутній.

На те щоб поставити на місце тригер і виконати один запит було витрачено час трьох спеціалістів і одного начальника протягом двох днів. Я вже не кажу що починати день із дзвінка начальства не сприяє доброму гумору.

Похожие статьи

  • Безымянный
  • Безымянный
  • Записки осцилятора-3: коли то було
  • Із жизні мєлкопітающіхся
  • Все дуже просто
  • Январь 31, 2011 | Категория: Без рубрики

    Добавить комментарий

    close window

    Service Times & Directions

    Weekend Masses in English

    Saturday Morning: 8:00 am

    Saturday Vigil: 4:30 pm

    Sunday: 7:30 am, 9:00 am, 10:45 am,
    12:30 pm, 5:30 pm

    Weekend Masses In Español

    Saturday Vigil: 6:15pm

    Sunday: 9:00am, 7:15pm

    Weekday Morning Masses

    Monday, Tuesday, Thursday & Friday: 8:30 am

    map
    6654 Main Street
    Wonderland, AK 45202
    (513) 555-7856