powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Deadlock c несуществующей транзакцией
16 сообщений из 16, страница 1 из 1
Deadlock c несуществующей транзакцией
    #39498213
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня пользователь получил ошибку:
FmMakeTPBack.spUPFactur:
Deadlock.
Deadlock.
Update conflicts with concurrent update.
Concurrent transaction number is 4510158.
At procedure 'UP_F_TP' line: 45, col: 1.
В mon$transactions транзакции с таким номером не было. Попробовал сам, конфликт с этой же транзакцией.
В каких случаях такое может быть?
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498240
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris,

У нас похожие случаи (штук пять уже) появились с месяц назад на одной ХП. При ее выполнении update conflict с другой транзакцией, причем ее в mon$transactions нет, а сам номер давнишний. Лечится только перезаходом в программу. Причину появления так и не отловили.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498251
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,
Да перезаход помогает.
FB 2.5.7
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498323
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в строке 45 процедуры UP_F_TP на самом деле update или что-то другое? Какой уровень изоляции при вызове этой ХП? Когда стартует и завершается оная транзакция?

если апдейт выполняется в снапшоте и другая транзакция успела изменить запись и закоммититься, то будет и конфликт и отсутствие инфы в mon$transactions. Но повторный апдейт в новой транзакции ошибки кидать уже не должен.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498372
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в строке 45 процедуры UP_F_TP на самом деле update или что-то другое?
Да, там действительно апдейт.
Какой уровень изоляции при вызове этой ХП?
read_commited
Параметры пишущей транзакции - write, nowait, concurrency.

Когда стартует и завершается оная транзакция?
Не очень понял вопрос.
Процедура делает обновление относительно большого количества записей в одной таблице. Это вполне может вызвать deadlock, так как с этой таблицей работают другие ползатели.
Обычно дедлок разруливается либо повторным запуском процедуры через какое-то время. Либо, в самых тяжелых случаях, нахождением конфликтной транзакции в mon-таблицах и убиением ейной.

А тут вот и повторный запуск не помог - конфликт с той же транзакцией, и в mon$transactions пусто.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498376
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exterisread_commited

Без rec_version?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498382
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovExterisread_commited

Без rec_version?..

Да, с ним.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498387
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExterisА тут вот и повторный запуск не помог - конфликт с той же транзакцией, и в mon$transactions пусто.Повторный запуск был в другой тр-ции ?
Запрос в mon$transactions делал sysdba ?
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498389
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris,

commit retaining нигде не затесался?
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498399
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladПовторный запуск был в другой тр-ции ?
Да, в другой.

Запрос в mon$transactions делал sysdba ?
Так точно.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498400
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvExteris,

commit retaining нигде не затесался?
Точно нет.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498415
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris,

2PC тр-ции есть (репликатор, например) ?
gfix -list что показывает ?
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498489
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExterisПараметры пишущей транзакции - write, nowait, concurrency.
Аналогично.
ExterisА тут вот и повторный запуск не помог - конфликт с той же транзакцией, и в mon$transactions пусто.
В нашем случае по идее повторная попытка должна быть в новой транзакции (коммит/роллбак на совести TpFIBQuery), но проверить сейчас не могу - сервера отключились, у нас тут в нескольких областях электричество кончилось.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498647
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exterisв строке 45 процедуры UP_F_TP на самом деле update или что-то другое?
Да, там действительно апдейт.
Какой уровень изоляции при вызове этой ХП?
read_commited
Параметры пишущей транзакции - write, nowait, concurrency.


Противоречие тут вижу я. Процедура пишущая, раз в ней апдейт. Но транзакция read_commited. В то же время пишущая транзакция concurrency. Сила, конечно, когда ей пользуется мастер, многое может. Но влияние тёмной стороны чувствую я - транзакция одновременно и read_commited и concurrency.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498651
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxВ нашем случае по идее повторная попытка должна быть в новой транзакции (коммит/роллбак на совести TpFIBQuery).

Совесть - материя тонкая. Про FIBы ничего не скажу, но IBX точно умничает в зависимости от того, явно была транзакция стартована или автоматом, при открытии запроса.
...
Рейтинг: 0 / 0
Deadlock c несуществующей транзакцией
    #39498819
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrесли апдейт выполняется в снапшоте и другая транзакция успела изменить запись и закоммититься, то будет и конфликт и отсутствие инфы в mon$transactions. Но повторный апдейт в новой транзакции ошибки кидать уже не должен.
Проверил сегодня - у нас в этом месте транзакция не откатывалась при исключении. Ошибку эту исправил. Посмотрим, как дальше будет.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Deadlock c несуществующей транзакцией
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]