Core's implementation of lock api supposed to use "
semaphore" table to implement locking.
This table as all others use InnoDB storage engine which brings serious bug that any lock is released by any transaction.
Change storage engine for mysql to Memory
Original report by @mikeytown2
was great for D7 but the semaphore table should actually be MEMORY instead of InnoDB.
Problem reported elsewhere with wrong conclusion:
Recently reported here with the right conclusion: side 26
Side 26 contents
Memory engine for semaphore table
● Removes InnoDB overhead
● No disk access needed – table in RAM
● Native implementation (no plugin or modules)
● Negative – table-level locking can reduce concurrency, but this
table is typically small (and hopefully not used often)
Various links on drupal.stackexchange.com where people are complaining about this issue.
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 71,628 pass(es). View
PASSED: [[SimpleTest]]: [MySQL] 40,950 pass(es). View