|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
Доброго всем дня. Хочу избавиться от deadlock'а. Два апдейта из разных транзакций конфликтуют, хочу узнать, с каким именно запросом выполняется конфликтующая транзакция. Например, имеем такое сообщение: "lock conflict on no wait transaction deadlock update conflicts with concurrent update concurrent transaction number is 7002". Можно ли как-то узнать, какой именно запрос выполняется в транзакции 7002? FB 2.5, Delphi XE6, IBX'ы, спасибо за ответы, может будут идеи. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 10:35 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
makhaon, трейс, мониторинг ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 10:48 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
Добавлю makhaonМожно ли как-то узнать, какой именно запрос выполняется в транзакции 7002?Он мог выполняться в этой тр-ции час назад, а не в момент апдейт-конфликта. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 10:49 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
hvlad, понятно, что запрос может быть давно выполнен. можно ли по мониторным таблицам базы как-то узнать, что именно за запрос там был? либо еще как-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 11:05 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
makhaon, да. клиент у базы один, но коннектов много. то есть - всё конфликтует в пределах клиента. но приложение многопоточное, коннектов может быть десятка два, причем динамических. сложно (если вообще возможно) отследить все коннекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 11:10 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
makhaonпонятно, что запрос может быть давно выполнен. можно ли по мониторным таблицам базы как-то узнать, что именно за запрос там был?Нет, мониторинг для этого плохо подходит. Трейс гораздо лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 11:29 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
makhaonклиент у базы один, но коннектов много. то есть - всё конфликтует в пределах клиента. но приложение многопоточное, коннектов может быть десятка два, причем динамических. сложно (если вообще возможно) отследить все коннекты.Тогда ещё можно в клиенте вести протокол выполнения запросов (с номерами соотв тр-ций) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 11:30 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
makhaonМожно ли как-то узнать, какой именно запрос выполняется в транзакции 7002? 1) Это наверняка update. 2) Это update той же самой таблицы, которую изменяет запрос, получивший ошибку. Этого недостаточно?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 12:31 |
|
Deadlock. Узнать конфликтующий запрос.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, было бы удобнее сразу видеть, с каким конкретно запросом идёт конфликт. попробую в логи добавить номера транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 14:08 |
|
|
start [/forum/topic.php?fid=40&msg=39176641&tid=1562334]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 411ms |
0 / 0 |