Проблема подвисания транзакций FB 2.1.3 CS
Модераторы: kdv, Alexey Kovyazin
Проблема подвисания транзакций FB 2.1.3 CS
Добрый день!
У меня в БД существует проблема с зависшими транзакциями и в следствии сыпятся 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
У меня в БД существует проблема с зависшими транзакциями и в следствии сыпятся 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
для начала стоит обновиться до 2.1.4
Re: Проблема подвисания транзакций FB 2.1.3 CS
Допустим. И что это даст? Может тогда уже лучше до 2.5?
Re: Проблема подвисания транзакций FB 2.1.3 CS
вроде бы очевидно, что никто не будет разбираться с проблемами, которые были в 2.1.3 и которых нет в 2.1.4. Это бессмысленно. Я не помню наизусть, исправлялось ли что-то подобное. Но если в 2.1.4 проблемы нет, то мы все сэкономим массу времени. И таки да, 2.5.1 тоже имеет смысл попробовать.
Re: Проблема подвисания транзакций FB 2.1.3 CS
2.1.4 - это исправление багофиксов относительно предыдущих версий. 2.5 это уже более новая версия по отношению к 2.1.
Вам ПОЛОЖЕНО обновиться на 2.1.4. Если сомневаетесь - посмотрите перечень исправленных багов в релизнотах 2.1.4.
p.s. иногда упрямство вредно
Вам ПОЛОЖЕНО обновиться на 2.1.4. Если сомневаетесь - посмотрите перечень исправленных багов в релизнотах 2.1.4.
p.s. иногда упрямство вредно
Re: Проблема подвисания транзакций FB 2.1.3 CS
Т.е. вы гарантируете отсутствие данной проблемы на 2.1.4?
Тогда я непременно мигрирую на эту версию
Тогда я непременно мигрирую на эту версию
Re: Проблема подвисания транзакций FB 2.1.3 CS
да никто тебе ничего не гарантирует. Но только ты можешь проверить, есть там твоя проблема или нет. Телепатов тут нет.
Re: Проблема подвисания транзакций FB 2.1.3 CS
Я так понимаю, для перехода с 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.
Никаких подводных камней нет?)
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
Достаточно пунктов 3-5, остальные по желанию
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Проблема подвисания транзакций FB 2.1.3 CS
Ну, по-моему можно спокойно гарантировать наличие проблем на 2.1.3.dimitr писал(а):да никто тебе ничего не гарантирует.
Re: Проблема подвисания транзакций FB 2.1.3 CS
Перешел на 2.1.4. Посмотрим, может помогло