SELECT ... FOR UPDATE в innoDB не лочит записи. Я и дальше могу обращаться к записи. Почему не происходит лока?
Вам надо установить уровень изоляции:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED; - тогда будете ждать
Решено. Все работает, но только для параллельных запросов с FOR UPDATE, а я пробовал поймать лок с запросом без FOR UPDATE. То есть мой параллельный запрос должен был выглядеть не так:
SELECT * FROM user_balance WHERE id = 1
А вот так:
SELECT * FROM user_balance WHERE id = 1 FOR UPDATE