| eG Monitoring |
|---|
|
Measures reported by MySQLCluDdLkTest A deadlock is a situation where different transactions are unable to proceed because each holds a lock that the other needs. Because both transactions are waiting for a resource to become available, neither ever release the locks it holds. A deadlock can occur when transactions lock rows in multiple tables (through statements such as UPDATE or SELECT ... FOR UPDATE), but in the opposite order. A deadlock can also occur when such statements lock ranges of index records and gaps, with each transaction acquiring some locks but not others due to a timing issue. When deadlock detection is enabled (the default) and a deadlock does occur, InnoDB (the default MySQL Storage engine) detects the condition and rolls back one of the transactions. If deadlock detection is disabled, InnoDB relies on the innodb_lock_wait_timeout setting to roll back transactions in case of a deadlock. Though the transactions can be rolled back after the time specified against the innodb_lock_wait_timeout setting, administrators have to patiently wait for the roll back to happen. To avoid such wait time, administrators need to constantly keep a vigil on whether the deadlock detection is enabled or not. The MySQLCluDdLkTest helps administrators in this regard! This test reports whether/not the deadlock detection is enabled and reports the count of deadlocks that occurred on the target MySQL cluster. Outputs of the test: One set of results for the cluster being monitored. The measures made by this test are as follows:
|