Её в русскоязычном сегменте удобно переводят как взаимная блокировка, чем она и является. Грубо говоря, получается замкнутый круг блокировок. Не обязательно две транзакции. Важно что круг замыкается
У нас бэкенд по факту держит постоянно 10 соединений с БД, когда от фронта прилетает запрос, бэк идёт в БД и делает то, что его попросили достать из БД. Там есть история, когда за сутки в базу залилось много информации от других систем, и в какой-то из этих систем возник косяк, его например поправили, со стороны бэка происходит сброс всего суточного "отчёта" и по новой запрашивается из различных источников. И вот тут то нас и поджидает дедлок. Когда оно успешно из бд это всё удалило и начало писать заново кучу данных. Может где-то ограничения есть на стороне сервера БД.... понять бы...
на стороне БД если только у вас дедлоки по ITL. А обычно надо разбираться в порядке блокировки ресурсов и пытаться сделать его одинаковым
Вы там какие запросы гоняете? For update что ли?
Обсуждают сегодня