Страница 1 из 1

Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 16 ноя 2011, 19:30
Olegek
Добрый день!
У меня в БД существует проблема с зависшими транзакциями и в следствии сыпятся lock conflict-ы. Соединения с приложением клиента нет, но процесс крутится на сервере. KeepAliveTime = 120000, т.е. установлен в 2 мин. Но по истечении этого времени процесс все равно остается и лочит остальные.
Пошел следующим путем:
В mon$attachments нашел PID злостной транзакции и убил этот процесс через таск менеджер, после чего база зависла в буквальном смысле этого слова:
1)Новые коннекты к базе попросту зависали
2) На старых коннектах запросы подвисали и не выполнялись
3) Перевод базу в шут-даут то же не выполнялся, а зависал.
4) После кила юзерей через ibconclick соединение обрывалось, а процессы fb_inet_server оставались.
После того как убил все процессы через таск менеджер удалось потушить БД в шут даун.

Вопрос, почему подвисший процесс не убился по истечению 2-х мин и почему когда я его убил руками началась такая карусель?

Данная проблема существует давно и постоянно решал её шутдауном БД. Но думал, что после параметризации KeepAliveTime она исчезнет, но не тут то было :(

Использую:
Windows 2003 server
Firebird 2.1.3 Classic Server

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 16 ноя 2011, 21:04
dimitr
для начала стоит обновиться до 2.1.4

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 17 ноя 2011, 11:46
Olegek
Допустим. И что это даст? Может тогда уже лучше до 2.5? :)

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 17 ноя 2011, 12:08
dimitr
вроде бы очевидно, что никто не будет разбираться с проблемами, которые были в 2.1.3 и которых нет в 2.1.4. Это бессмысленно. Я не помню наизусть, исправлялось ли что-то подобное. Но если в 2.1.4 проблемы нет, то мы все сэкономим массу времени. И таки да, 2.5.1 тоже имеет смысл попробовать.

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 17 ноя 2011, 12:08
kdv
2.1.4 - это исправление багофиксов относительно предыдущих версий. 2.5 это уже более новая версия по отношению к 2.1.
Вам ПОЛОЖЕНО обновиться на 2.1.4. Если сомневаетесь - посмотрите перечень исправленных багов в релизнотах 2.1.4.

p.s. иногда упрямство вредно :-)

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 17 ноя 2011, 14:01
Olegek
Т.е. вы гарантируете отсутствие данной проблемы на 2.1.4?
Тогда я непременно мигрирую на эту версию :)

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 17 ноя 2011, 14:05
dimitr
да никто тебе ничего не гарантирует. Но только ты можешь проверить, есть там твоя проблема или нет. Телепатов тут нет.

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 15 дек 2011, 13:19
Olegek
Я так понимаю, для перехода с 2.1.3 на 2.1.4 будет достаточно:
1) бэкап секюрити
2) бэкап БД
3) сохранить firebird.conf и UDF-ки
4) удалить 2.1.3 и поднять 2.1.4
5) Подкинуть UDF-ки
6) рестор секюрити (+ подменить её после рестора)
7) рестор БД
На всякий случай так же можно сделать recompile all triggers , stored procedures.

Никаких подводных камней нет?)

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 15 дек 2011, 13:31
dimitr
Достаточно пунктов 3-5, остальные по желанию

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 15 дек 2011, 15:31
Dimitry Sibiryakov
dimitr писал(а):да никто тебе ничего не гарантирует.
Ну, по-моему можно спокойно гарантировать наличие проблем на 2.1.3.

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 19 дек 2011, 11:57
Olegek
Перешел на 2.1.4. Посмотрим, может помогло :)

Re: Проблема подвисания транзакций FB 2.1.3 CS

Добавлено: 10 апр 2012, 11:53
Olegek
Помогло! :D