Bugs

Jan. 31st, 2011 10:20 pm
madf: (Default)
[personal profile] madf
Пару тижнів тому у нашій головній Базі на роботі одвалився тригер на одній із таблиць. Навіть не один а п’ять, але то не так важливо. Одвалився собі тихенько і ніхто цього не помітив. Да, треба зауважити що відвалу тригера посприяла відсутність транзакцій у MyISAM, і тут ще можна написати багато слів про використання MySQL для критичних даних взагалі і особливо без підтримки транзакцій, цілісності по зовнішнім ключам і теде і тепе, але то зовсім інша історія. Як казав один відомий дядько, маємо те що маємо.

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

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

Profile

madf: (Default)
madf

April 2018

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 6th, 2026 10:03 pm
Powered by Dreamwidth Studios