table_sync
table_sync copied to clipboard
Проблемы с потенциальными дедлоками для ActiveRecord и отсуствием блокировок для Sequel
- Не понимаю, что проверяют спеки
avoid dead locks
, так как там переопределяется upsert и мы там не берем вообще никаких локов. К тому же эти спеки отжирают больше 3/4 времени выполнения вообще всех спеков из-заsleep 2
. - В Актив Рекорде берется куча локов под транзой
FOR NO KEY UPDATE
и как раз там вероятность дедлока крайне высока? - В Сиквеле не берется никаких локов, соотвественно, победит та транза, которая коммитнется последней и перетрет изменения предыдущей транзы
- Кажется, вместо кучи локов в актив рекорде и отсутсвии этих локов в сиквеле имеет смысл изменить уровень изоляции транзы на какую-нибудь сериализацию :thinking:
Кажется, даже подойдет Repeatable Read