Множественные транзакции Typeorm, которые никогда не завершаются / не выполняются с ошибками и не выполняются

#mysql #transactions #typeorm #mysql2

#mysql #транзакции #typeorm #mysql2

Вопрос:

Я запускаю настройку с NestJS и Typeorm и MySQL 5.7 DB. В качестве драйвера мы используем mysql2.

Что-то вызывает события, когда одна часть логики запускается несколько раз в течение миллисекунд. В этой логике мы открываем следующую транзакцию:

 await typeorm.getManager().transaction('READ UNCOMMITTED', async (entityManager) => {...});
  

Это отражается в журналах следующим образом:

 query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
query: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
.
.
.
query: START TRANSACTION
query: START TRANSACTION
query: START TRANSACTION
query: START TRANSACTION
query: START TRANSACTION
query: START TRANSACTION
query: START TRANSACTION
query: START TRANSACTION
  

После запуска транзакций дальнейший код не выполняется. Нет журналов, нет ошибок, ничего. Транзакции не фиксируются, не прерываются и не откатываются.

Исследование возможных ограничений MySQL не помогло.

Есть предложения?

Комментарии:

1. Удалось ли вам решить эту проблему?

2. к сожалению, нет, мы только начали вводить некоторые таймауты…. худший взлом за всю историю.