|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Сегодня пользователь получил ошибку: 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 транзакции с таким номером не было. Попробовал сам, конфликт с этой же транзакцией. В каких случаях такое может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 10:53 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Exteris, У нас похожие случаи (штук пять уже) появились с месяц назад на одной ХП. При ее выполнении update conflict с другой транзакцией, причем ее в mon$transactions нет, а сам номер давнишний. Лечится только перезаходом в программу. Причину появления так и не отловили. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 11:16 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
CyberMax, Да перезаход помогает. FB 2.5.7 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 11:25 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
в строке 45 процедуры UP_F_TP на самом деле update или что-то другое? Какой уровень изоляции при вызове этой ХП? Когда стартует и завершается оная транзакция? если апдейт выполняется в снапшоте и другая транзакция успела изменить запись и закоммититься, то будет и конфликт и отсутствие инфы в mon$transactions. Но повторный апдейт в новой транзакции ошибки кидать уже не должен. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 13:05 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
в строке 45 процедуры UP_F_TP на самом деле update или что-то другое? Да, там действительно апдейт. Какой уровень изоляции при вызове этой ХП? read_commited Параметры пишущей транзакции - write, nowait, concurrency. Когда стартует и завершается оная транзакция? Не очень понял вопрос. Процедура делает обновление относительно большого количества записей в одной таблице. Это вполне может вызвать deadlock, так как с этой таблицей работают другие ползатели. Обычно дедлок разруливается либо повторным запуском процедуры через какое-то время. Либо, в самых тяжелых случаях, нахождением конфликтной транзакции в mon-таблицах и убиением ейной. А тут вот и повторный запуск не помог - конфликт с той же транзакцией, и в mon$transactions пусто. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 13:46 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Exterisread_commited Без rec_version?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 13:51 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovExterisread_commited Без rec_version?.. Да, с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 13:53 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
ExterisА тут вот и повторный запуск не помог - конфликт с той же транзакцией, и в mon$transactions пусто.Повторный запуск был в другой тр-ции ? Запрос в mon$transactions делал sysdba ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 14:00 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Exteris, commit retaining нигде не затесался? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 14:01 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
hvladПовторный запуск был в другой тр-ции ? Да, в другой. Запрос в mon$transactions делал sysdba ? Так точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 14:10 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
kdvExteris, commit retaining нигде не затесался? Точно нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 14:10 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Exteris, 2PC тр-ции есть (репликатор, например) ? gfix -list что показывает ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 14:25 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
ExterisПараметры пишущей транзакции - write, nowait, concurrency. Аналогично. ExterisА тут вот и повторный запуск не помог - конфликт с той же транзакцией, и в mon$transactions пусто. В нашем случае по идее повторная попытка должна быть в новой транзакции (коммит/роллбак на совести TpFIBQuery), но проверить сейчас не могу - сервера отключились, у нас тут в нескольких областях электричество кончилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 16:11 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
Exterisв строке 45 процедуры UP_F_TP на самом деле update или что-то другое? Да, там действительно апдейт. Какой уровень изоляции при вызове этой ХП? read_commited Параметры пишущей транзакции - write, nowait, concurrency. Противоречие тут вижу я. Процедура пишущая, раз в ней апдейт. Но транзакция read_commited. В то же время пишущая транзакция concurrency. Сила, конечно, когда ей пользуется мастер, многое может. Но влияние тёмной стороны чувствую я - транзакция одновременно и read_commited и concurrency. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 21:28 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
CyberMaxВ нашем случае по идее повторная попытка должна быть в новой транзакции (коммит/роллбак на совести TpFIBQuery). Совесть - материя тонкая. Про FIBы ничего не скажу, но IBX точно умничает в зависимости от того, явно была транзакция стартована или автоматом, при открытии запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2017, 21:32 |
|
Deadlock c несуществующей транзакцией
|
|||
---|---|---|---|
#18+
dimitrесли апдейт выполняется в снапшоте и другая транзакция успела изменить запись и закоммититься, то будет и конфликт и отсутствие инфы в mon$transactions. Но повторный апдейт в новой транзакции ошибки кидать уже не должен. Проверил сегодня - у нас в этом месте транзакция не откатывалась при исключении. Ошибку эту исправил. Посмотрим, как дальше будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2017, 09:59 |
|
|
start [/forum/topic.php?fid=40&msg=39498389&tid=1561474]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 162ms |
0 / 0 |