Re[43]: Шеридан, ты типичный фанатик (ц)
От: Privalov  
Дата: 03.09.19 12:10
Оценка: 3 (2) +1
Здравствуйте, Mamut, Вы писали:

M>Это я еще слукавил. Это я около трети знал:


И в том, что, казалось бы, знаешь, такие сюрпризы иногда вылезают, что просто не знаешь, как вообще такое бывает.

Пормню, как-то администратор БД начал жаловаться, что мы ему оставляем сотни открытых соединений. Откуда сотни, я не понимал. А в проекте многопоточности не было, запускалось по 15-20 копий программы под управлением диспетчера. Дак вот когда я начал копать, то выяснил: каждая задача открывает по 3 (три) соединения к БД по ADO и еще одно — по ODBC. И в каком-то месте неправильно обрабатывались ошибки. Задача падала, диспетчер это отлавливал и запускал ее снова. И она опять устанавливала 4 соединения. А я знал только об одном соединении. Кто и когда приделал другие, и с какой целью — я до сих пор не знаю. Зато когда я из 4 соединений сделал одно и перестал держать его открытым, жизнь наладилась.
Счас Sheridan начнет рассказывать про криворукость, невнимательность. Но такое случается сплошь и рядом.
Другой проект почему-то стартовал слишком долго. Через несколько лет(!) эксплуатации выяснилось: при запуске там загружалось около сотни сервисов. И после каждой загрузки стартовал сборщик мусора. Кто-то (в тот раз не я) случайно заметил. С какой целью туда вставили вызов GC — я тоже не знаю.

Причем тут я говорю о коде, с которым постоянно работал. Там неизведанных закоулков — вагон. Некоторые редко используемые фрагменты иногда выстреливают, как ядерный боезапас. А если еще наследованием реализации злоупотреблять, то вообще все плохо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.