Комментарии 12
НЛО прилетело и опубликовало эту надпись здесь
Хранимые процедуры тоже можно вызывать параллельно, там тоже случаются дедлоки и прочие неожиданности, только их отладить бывает сложнее. А если СУБД MySQL, то нужна особая эрудиция, чтобы найти причину ошибки в хранимой процедуре.
+3
Плохой совет, код в хранимке не продебажить, чтобы его обновлять и поддерживать нужны танцы, версионирования нормального нет. А проблема не уйдёт, внутри хранимок тоже надо организовывать синхронизацию потоков.
+4
А почему бы в первом примере не написать SELECT FOR UPDATE. Разве это не исключит ошибку?
0
В postgresql есть с недавних пор INSERT ... ON CONFLICT DO
, который хорошо решает вышеописанные проблемы.
Тем не менее, спасибо за рассказанный способ тестирования.
+1
А почему не писать сразу Thread safe, что б потом не отлавливать racecondition?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Тестирование параллельных процессов