|
Конфликт блокировок при проведении документа. ERP 2.4.9 | ☑ | ||
---|---|---|---|---|
0
nazarovbr
09.04.20
✎
09:25
|
Приветствую. Возникла такая проблема, есть внешняя обработка, которая в транзакции помимо прочих действий изменяет и проводит документ (ЭтапПроизводства2_2). Иногда при выполнении этой обработки у пользователей возникает ошибка "Конфликт блокировок при выполнении транзакции. Неустранимый конфликт блокировок". При повторном запуске все отрабатывает. Начал искать, нашел конкретное место, в котором при обработке проведения документа на него вешается блокировка и в этот момент выходит ошибка. Сейчас как раз пытаюсь разобраться, но пока не особо успешно. Может кто подсказать хотя бы в каком направлении копать? Режим блокировок в конфе стоит управляемый.
|
|||
1
Spieluhr
09.04.20
✎
09:58
|
1) У дедлока всегда как минимум 2 участника, нужно искать вторую транзакцию
2) что значит "на него вешается блокировка"? зачем дополнительно что-то вешать? это типовой код? |
|||
2
nazarovbr
09.04.20
✎
10:22
|
(1) да, во внешке идет проведение своим кодом, а дальше уже конфликт с типовым
|
|||
3
Ray Zexter
09.04.20
✎
10:26
|
Внешнюю обработку запускают сразу несколько юзверей?
|
|||
4
nazarovbr
09.04.20
✎
11:10
|
(3) теоретически могут, но ни по истории изменений, ни по журналу регистрации не видно, чтобы кто то ещё запускал в это время. Да и у них там работа распределена, один и тот же документ разные люди трогать не будут
|
|||
5
dmpl
09.04.20
✎
11:15
|
(4) Ну а какие блокировки накладываются перед тем Заблокировать(), на котором валится все?
|
|||
6
nazarovbr
09.04.20
✎
11:43
|
(5) блокируются все этапы производства с таким же заказом как у проводимого этапа
|
|||
7
dmpl
09.04.20
✎
11:52
|
Ну так может один или несколько из этих этапов уже были заблокированы ранее. Может даже этой же обработкой.
|
|||
8
nazarovbr
09.04.20
✎
12:09
|
(7) маловероятно, во первых как уже писал, у пользователей это все распределено между собой, во вторых слишком часто ошибка вылезает чтобы они каждый раз так друг на друга попадали. Да и вообще я сам пробовал на тестовой зайти под 2 пользователями и одновременно пустить, там другая ошибка. Что-то типа "записи были изменены или удалены"
|
|||
9
dmpl
09.04.20
✎
15:08
|
(8) Там может фоновые задания запускаются, или подписки какие срабатывают.
|
|||
10
rphosts
09.04.20
✎
15:20
|
(0)Собери ТЖ на события TLOCK, TDEADLOCK.
У дидлоков 2 причины: 1.повышение уровня транзакции (ну т.е. сначала решил что-то прочесть а потом решил туда записать, а кто-то уже в своей транзакцией наложил на эти данные блокировку). 2.разный порядок наложения блокировки на разные данные, например Юзер А заблокировал что-то в РС1, потом юзер Б заблокировал что-то РС2, и тут Юзер А решил заблокировать что-то в РС2, что уже заблокировал юзер Б.... |
|||
11
rphosts
09.04.20
✎
15:22
|
(8) да, зуб даёшь? А записи о актуальных итогах в РН? У вас везде режим разделения итогов и он включен?
Ты можешь научиться гадать лучше проф. цыганки, но без сбора ТЖ это всё пустое. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |