I have a MariaDB (
5.5.41) cluster made of 2 nodes configured as master-slave. All reads and writes are sent to the same node.
I have been investigating some deadlock issues for a few weeks.
On a regular basis, my PHP application returns
Message: SQLSTATE: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction.
I used to be able to run
SHOW ENGINE INNODB STATUS; and would see that last deadlock, but for some reason, after a small irrelevant configuration change (changing
innodb_buffer_pool_instances from 1 to 19), and a reboot of both nodes, doing a
SHOW ENGINE INNODB STATUS; will not show any deadlock.
However, if I connect with my mysql client and manually create transactions resulting in a deadlock, the status command does show the deadlock.
I tried playing
innodb_print_all_deadlocks ON and OFF. Nothing shows in the
mysql-error.log, except for my manually triggered deadlock.
Why are the deadlocks created by my PHP application not showing anymore?