Se você utiliza uma Storage Engine que suporta transações, você
provavelmente já enfrentou ou ouviu falar de
deadlock's.
Na Documentação do MySQL podemos ver:
“Always be prepared to re-issue a transaction if it fails due to
deadlock. Deadlocks are not dangerous. Just try again.”
“Sempre esteja preparado para re-executar uma transação se ela
falhar por causa de deadlock. Deadlocks não são perigosos. Apenas
re-execute a transação.”
Na empresa em que trabalho, temos um importante processo que de
vez em quando falha por causa de deadlock. Decidi então melhorar
este processo e fazer o que a documentação diz (re-executar a
transação).
Para fazer isso, Eu queria poder reproduzir o scenario do
deadlock e a transação vitima do rollback teria que ser a do
processo em questão.
…
[Leia mais]