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[40001]: 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?