Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Deadlock. Узнать конфликтующий запрос. / 10 сообщений из 10, страница 1 из 1
22.02.2016, 10:35
    #39176605
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
Доброго всем дня.

Хочу избавиться от 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'ы, спасибо за ответы, может будут идеи.
...
Рейтинг: 0 / 0
22.02.2016, 10:48
    #39176617
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
makhaon,

трейс, мониторинг
...
Рейтинг: 0 / 0
22.02.2016, 10:49
    #39176620
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
Добавлю
makhaonМожно ли как-то узнать, какой именно запрос выполняется в транзакции 7002?Он мог выполняться в этой тр-ции час назад, а не в момент апдейт-конфликта.
...
Рейтинг: 0 / 0
22.02.2016, 11:05
    #39176625
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
hvlad,

понятно, что запрос может быть давно выполнен. можно ли по мониторным таблицам базы как-то узнать, что именно за запрос там был? либо еще как-то?
...
Рейтинг: 0 / 0
22.02.2016, 11:10
    #39176627
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
makhaon,

да. клиент у базы один, но коннектов много. то есть - всё конфликтует в пределах клиента. но приложение многопоточное, коннектов может быть десятка два, причем динамических. сложно (если вообще возможно) отследить все коннекты.
...
Рейтинг: 0 / 0
22.02.2016, 11:29
    #39176641
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
makhaonпонятно, что запрос может быть давно выполнен. можно ли по мониторным таблицам базы как-то узнать, что именно за запрос там был?Нет, мониторинг для этого плохо подходит.
Трейс гораздо лучше.
...
Рейтинг: 0 / 0
22.02.2016, 11:30
    #39176642
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
makhaonклиент у базы один, но коннектов много. то есть - всё конфликтует в пределах клиента. но приложение многопоточное, коннектов может быть десятка два, причем динамических. сложно (если вообще возможно) отследить все коннекты.Тогда ещё можно в клиенте вести протокол выполнения запросов (с номерами соотв тр-ций)
...
Рейтинг: 0 / 0
22.02.2016, 12:31
    #39176663
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
makhaonМожно ли как-то узнать, какой именно запрос выполняется в транзакции
7002?
1) Это наверняка update.
2) Это update той же самой таблицы, которую изменяет запрос, получивший ошибку.

Этого недостаточно?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.02.2016, 14:08
    #39176698
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
Dimitry Sibiryakov,

было бы удобнее сразу видеть, с каким конкретно запросом идёт конфликт. попробую в логи добавить номера транзакций.
...
Рейтинг: 0 / 0
22.02.2016, 14:32
    #39176712
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock. Узнать конфликтующий запрос.
makhaonбыло бы удобнее сразу видеть, с каким конкретно запросом идёт конфликт.
А чем тебе это поможет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Deadlock. Узнать конфликтующий запрос. / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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